0

我從服務器得到一些json對象,但我無法讓他們看到我的看法。我做錯了什麼?淘汰賽js堅持非常簡單,但不能

我這裏有一個的jsfiddle:http://jsfiddle.net/cy6kC/

var volModel = function() { 
self.Vol = ko.observable({"ID": 1,"Name": 1}); 
} 
var volunteerModel = new volModel(); 
ko.applyBindings(new volunteerModel()); 
+2

你的代碼很奇怪。你的'volunteerModel'已經是一個對象,所以你不需要叫它'new volunteerModel()',它甚至不是有效的JS語法。順便說一下,你的綁定應該是'data-bind ='value:Vol()。ID「' – nemesv 2013-03-18 15:45:55

+0

把這個作爲答案。有效。謝謝 – NoviceDeveloper 2013-03-18 15:46:49

+1

你有沒有試過:ko.applyBindings(volunteerModel);你正在初始化視圖模型兩次,這是我不希望的工作。 – 2013-03-18 15:43:35

回答

3

你有兩個問題與當前的代碼:

首先

var volunteerModel = new volModel(); 
ko.applyBindings(new volunteerModel()); 

將拋出TypeError: object is not a function因爲volunteerModel是一個對象所以你不能撥打new。你只需要編寫:

var volunteerModel = new volModel(); 
ko.applyBindings(volunteerModel); 

您當前的綁定是博肯

<input data-bind="value: Vol.ID" /> 

因爲Vol是可觀的(這是一個功能),你需要的()如果您正在使用它的表達式如下:

<input data-bind="value: Vol().ID" /> 

演示JSFiddle

+0

你是對的nemesv。謝謝..我想我生氣了,他們把這個問題標記爲:( – NoviceDeveloper 2013-03-18 16:07:08