2012-09-27 69 views
1

所以我有這個問題,其中的數據沒有顯示在表中。綁定與淘汰

我的視圖型號:

var my = {}; 
my.viewModel = { 
    Person: ko.observableArray([ 
     { name: "Alireza", family: "Davoodi", city: "Tehran", date: new Date().getTime() }, 
     { name: "Alireza", family: "Davoodi", city: "Tehran", date: new Date().getTime() }, 
     { name: "Alireza", family: "Davoodi", city: "Tehran", date: new Date().getTime() }, 
     { name: "Alireza", family: "Davoodi", city: "Tehran", date: new Date().getTime() }, 
     { name: "Alireza", family: "Davoodi", city: "Tehran", date: new Date().getTime() }, 
    ]) 
}; 

ko.applyBindings(my.viewModel); 

檢視:

<tbody data-bind="foreach: Person" > 
    <tr> 
     <td data-bibd="text: name"></td> 
     <td data-bibd="text: family"></td> 
     <td data-bibd="text: city"></td> 
     <td data-bibd="text: date"></td> 
    </tr> 
</tbody> 

的數據沒有在表中示出;我哪裏錯了?

我得到的輸出是:[object,object]

謝謝!

回答

0
Person: ko.observableArray([ 
     { name: ko.observable("Alireza"), family: ko.observable("Davoodi"), city:ko.observable("Tehran"), date:ko.observable(new Date().getTime()) }, ]) 

所有的JSON值都是放在KO .observable。

12

你有一個錯字:data-bibd應該是data-bind。其餘seems罰款。

1

當然有錯字spinarrow指。在你的JSON格式中也有一個小問題(最後一行中的逗號)。

而且,我相信更好的實現(保留淘汰賽的面向對象的方法)會是這樣:

var my = {}; 
my.viewModel = function() { 
    this.Person = ko.observableArray([{ 
     name: "Alireza", 
     family: "Davoodi", 
     city: "Tehran", 
     date: new Date().getTime() 
    }, { 
     name: "Alireza", 
     family: "Davoodi", 
     city: "Tehran", 
     date: new Date().getTime() 
    }, { 
     name: "Alireza", 
     family: "Davoodi", 
     city: "Tehran", 
     date: new Date().getTime() 
    }, { 
     name: "Alireza", 
     family: "Davoodi", 
     city: "Tehran", 
     date: new Date().getTime() 
    }, { 
     name: "Alireza", 
     family: "Davoodi", 
     city: "Tehran", 
     date: new Date().getTime() 
    } ]); 
}; 

ko.applyBindings(new my.viewModel()); 

你可以看到它working in JSFiddle here.

+0

不要扔西紅柿,但你所指的JSON實際上是一個javascript對象字面量。 – Olga