我正在尝试做这样的事情:
bindable({defaultBindingMode: bindingMode.oneTime}) options = {};
并在浏览器的控制台中收到警告:
WARN [templating-binding] Unknown binding command. Object {defaultBindingMode: 1, attrName: "route-href", attrValue: "navModel.config.name", command: "onetime", expression: null}
我不应该能够指定options参数(实际上只在attached()
中使用过一次)默认只能绑定一次吗?
答案 0 :(得分:0)
您无法以您尝试的方式使用bindable的内联语法。您需要使用更详细的语法并装饰该类。
@bindable({
name: 'options',
defaultBindingMode: bindingMode.oneTime,
defaultValue: {}
});
export class MyViewModel {
...
}
@bindable
的语法如下(直接来自文档):
@bindable({
name:'myProperty',
attribute:'my-property',
changeHandler:'myPropertyChanged',
defaultBindingMode: bindingMode.oneWay,
defaultValue: undefined
})
答案 1 :(得分:0)
你必须这样使用它;
import {bindable} from 'aurelia-framework'
import {bindingMode} from 'aurelia-binding'
@bindable({name:'foo', defaultBindingMode : bindingMode.oneTime})
export class Elem{
foo;
}
或者你可以在线进行:
import {bindable} from 'aurelia-framework'
import {bindingMode} from 'aurelia-binding'
export class Elem{
@bindable({name:'foo', defaultBindingMode : bindingMode.twoWay}) foo;
}
使用应的代码 Here is a plunker。但是有一个错误,oneTime
被用作defaultBindingMode
时会被忽略。请参阅我刚刚报道的this issue。