繁体   English   中英

Knockout.js 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM