淘汰js卡住很简单,但不能

时间:2013-03-18 15:41:54

标签: knockout.js knockout-mapping-plugin knockout-2.0 knockout-mvc

我从服务器获取了一些json对象,但我无法将它们放到我的视图中。我做错了什么。

我在这里有一个jsfiddle:http://jsfiddle.net/cy6kC/

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

1 个答案:

答案 0 :(得分:3)

您当前的代码存在两个问题:

<强>第一

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

将抛出TypeError: object is not a function,因为volunteerModel是一个对象,因此您无法使用new进行调用。你只需要写:

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

第二

您当前的绑定是borken

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

因为Vol是可观察的(这是一个函数),如果你在表达式中使用它,则需要()

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

演示JSFiddle