[英]how can I call the (ko.observableArray) from (init) JSON function?
好吧,标题令人困惑,所以我给你我的代码以理解我的问题
在淘汰赛教程中,他们使用函数而不是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
但是如果我像这样将数据直接传递到dataList (不再是observableArray),它将在控制台中为我提供完整的对象值
dataList : dataList,
控制台中的返回值
[Object, Object]
如何从init函数调用ko.observableArray ?
我想按照这样的方式在网上学习教程,但是我的问题是相同的。
http://opensoul.org/2011/06/23/live-search-with-knockoutjs/
实际上,不仅是ko.observableArray数组,而且我不能调用ko.observable对象
当我尝试调用dataList时返回此
您的代码不会调用 ViewModel.dataList
,而只是访问它,从而为您提供了函数(记住可观察对象是函数)。 要调用它,添加()
:
console.log(ViewModel.dataList());
// Note ----------------------^^
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.