[英]Knockout.js Mapping and adding large dataset to ko.observableArray
[英]Knockout.js ko.observableArray() not working as espected
我不确定为什么这行不通,有人可以帮忙吗?
我有这个简单的对象数组:
myItems: [
{value: 0, text: 'a'},
{value: 1, text: 'b'},
{value: 2, text: 'c'}
],
allItems: ko.observableArray(this.myItems),
console.log(this.allItems()); THIS DOES NOT WORK???
以上不起作用?
现在,下面只是硬编码的myItems数组:
allItems: ko.observableArray([
{value: 0, text: 'a'},
{value: 1, text: 'b'},
{value: 2, text: 'c'}
]),
console.log(this.allItems()); //THIS NOW WORKS
两者都登录时看不到有什么区别:
console.log('this is al allItems: '+this.allItems())
console.log('this is my myItems: '+myItems());
this is al allItems: (3) [{…}, {…}, {…}]
this is my myItems: (3) [{…}, {…}, {…}]
任何帮助,请感谢。
似乎在初始化对象时,您正在将其值分配给另一个键。 在给定的代码段中, this
是指不存在myItems
键的全局对象,并返回undefined
。 尝试在浏览器中执行var a = {b: 1, c: this.b}
。 这将返回{ b: 1, c: undefined }
。
但是我的问题是,为什么要分开保存myItems
又不想将其值直接传递给ko.observableArray
函数? 因为以后你只会想处理allItems
,因为它是可观察的,不是myItems
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.