我试图在repeat.for中的aurelia组件上设置一个可绑定值,它似乎没有任何影响。
<event-summary repeat.for="event of events" event.bind="event" is-favorite="true"></event-summary>
并在视图模型中
事件summary.js
@bindable('isFavorite')
@bindable('event')
export class EventSummary {
bind(bindingContext) {
if(bindingContext.isFavorite == null) {
this.isFavorite = false;
}
}
}
事件设置正确,但isFavorite始终未定义,无论我尝试什么(is-favorite.bind =“[some vm value]”)也返回undefined。谁能告诉我为什么?
由于
答案 0 :(得分:2)
is-favorite.bind="true"
应该有效。 is-favorite="true"
也应该有效,尽管在这种情况下,isFavorite可绑定属性将被赋予字符串'true'
。这是两个可运行的例子:
https://gist.run/?id=7044b0c37b53bb66e833d461f41dae2f
答案 1 :(得分:1)
我从未使用bind()
函数,但通常您的范围isFavorite
就像this.isFavorite
一样。你也可以在构造函数
这对我有用:
import {bindable} from 'aurelia-framework';
export class Testelement {
@bindable item
@bindable isFavorite
constructor() {
console.log(this.isFavorite);
console.log(this.item);
}
bind(bindingContext, overrideContext) {
console.log("bc ", bindingContext); //no item or isFavorite defined here
console.log("oc ", overrideContext);//no item or isFavorite defined here
}
}
<testelement item.bind="element" repeat.for="element of data" is-favorite="true"></testelement>