簡體   English   中英

如何從(init)JSON函數調用(ko.observableArray)?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM