我想根据第一个颜色名称添加ID。但它并没有按我的意愿添加,它给出了javascript错误:未捕获的错误:无法解析绑定。消息:TypeError:未定义不是函数;绑定值:attr:{id:$ root.colors()[0] .color}我尝试过的代码示例。HTML:
<ul data-bind="foreach: colors">
<li><span data-bind="text:color"></span>
</li>
</ul>
<div data-bind="attr: {id: $root.colors()[0].color}">
Make this div id associated with first color name of colors array.
</div>
昏死:
var ViewModel = function() {
this.self = this;
self.colors = ko.observableArray([{
color: 'red'},
{
color: 'blue'},
{
color: 'yellow'}]);
};
ko.applyBindings(new ViewModel());
您的视图模型中有一个错误-您self
在对象上创建属性,this.self = this
但随后使用它,就像它是一个局部变量一样。尝试将其更改为局部变量:
var ViewModel = function() {
var self = this;
self.colors = ko.observableArray([{
color: 'red'},
{
color: 'blue'},
{
color: 'yellow'}]);
};
ko.applyBindings(new ViewModel());
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句