[英]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.