【发布时间】:2016-01-03 10:19:45
【问题描述】:
标题很混乱,所以我会给你我的代码来理解我的问题
在淘汰教程中,他们使用函数而不是 JSON,我的意思是这样的:
data = [
{
id: 1,
name: 'somehing'
},{
id: 2,
name: 'somehing else'
},
]
这是我的问题
var ViewModel = function () {
var self = this;
self.dataList = ko.observableArray(data);
console.log(ViewModel.dataList);
};
而在其他网站以及 github 中的大部分教程和项目都使用 JSON
var ViewModel = {
dataList : ko.observableArray(data),
init: function() {
console.log(ViewModel.dataList);
}
};
这一行
dataList : ko.observableArray(data),
当我尝试调用 dataList 时,它会返回这个
function d(){if(0<arguments.length)return d.Wa(c,arguments[0])&&(d.X(),c=arguments[0],d.W()),this;a.k.Ob(d);return c}
如果我尝试获取它的值,控制台会告诉我 dataList 未定义
但如果我像这样将 data 直接传递给 dataList(不再是 observableArray),它将在控制台中为我提供完整的对象值
dataList : dataList,
控制台中的返回值
[Object, Object]
如何从 init 函数调用 ko.observableArray?
我想像这样在网络上学习教程,但我的问题是一样的。
http://opensoul.org/2011/06/23/live-search-with-knockoutjs/
其实不只是 ko.observableArray 数组,我也不能调用 ko.observable 对象
【问题讨论】:
标签: javascript json knockout.js