我是否遗漏了以下内容:
<select
id={{@field}}
name={{@field}}
{{on "change" this.sendSelect}}
>
<option value="null">Select one ... </option>
{{#each this.data as |item|}}
{{log "in record.hbs, curVal=" @curVal}}
{{log "in record.hbs, item.id=" item.id}}
{{debugger}}
<option
value={{item.id}}
selected={{fn this.areEqual @curVal item.id}}
>{{item.name}}</option>
{{/each}}
</select>
首次加载时未识别选定的选项。{{log}}语句显示其中一条记录有@curVal和item。具有相等值的id。使用{{debugger}}和
typeof get(item.id)
@curVal也一样,表示它们都是字符串。
我最初使用ember真相助手
{{eq @curVal item.id}}
但这并没有选择任何东西。所以我写了一个本地函数:
@action
areEqual(curval, itemId) {
console.log('typeof curval', typeof curval);
console.log('typeof itemId', typeof curval);
return curval == itemId;
}
但它似乎从来没有被调用过。我做错了什么?
1条答案
按热度按时间hmmo2u0o1#
尝试删除
fn
fn
部分应用参数,然后返回未调用的函数。语法:
立即调用
someFunction
文件: