qin*_*126 0 knockout-2.0 knockout.js
我将我的代码上传到jsFiddle,你可以在那里测试它.
这是问题,而是获得一个完整的名称,它显示了该函数的源代码.如果我使用ko.computed,它将起作用.我在下面做的也应该没问题.有人可以向我解释为什么它显示源代码,而不是价值.
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<p>Full name: <span data-bind="text: fullName"></span></p>?
Run Code Online (Sandbox Code Playgroud)
KO代码:
function AppViewModel() {
self = this;
self.firstName = ko.observable("Bert");
self.lastName = ko.observable("Bertington");
self.fullName = function(){
return self.firstName() + " " + self.lastName();
};
}
// Activates knockout.js
ko.applyBindings(new AppViewModel());?
Run Code Online (Sandbox Code Playgroud)
更新:
回答TCM的问题.为什么我不想使用ko.computed.不是我不想使用它,只是因为我很困惑,不知道何时使用它.例如
以下代码来自淘汰第一个教程.它不使用ko.computegd,但它的工作原理.
http://learn.knockoutjs.com/#/?tutorial=intro
self.capName = function(){
var curVal = self.lastName();
self.lastName(curVal.toUpperCase());
};
Run Code Online (Sandbox Code Playgroud)
你应该使用ko.computed:
self.fullName = ko.computed(function(){
return self.firstName() + " " + self.lastName();
},this);
Run Code Online (Sandbox Code Playgroud)
并且这将确保无论何时您的ka.computed函数中反映firstName
或lastName
更改了更改的值,您都不必手动更新范围的值.
有关进一步说明,您可以阅读:
http://knockoutjs.com/documentation/computedObservables.html
在此链接上给出了或多或少相同的示例.
如果您不想使用ko.computed,请参阅此链接:http://jsfiddle.net/2RPsw/10/
归档时间: |
|
查看次数: |
92 次 |
最近记录: |