如何在JSON中使用Knockoutjs的数据绑定函数
How to use a data binding function of Knockoutjs inside JSON?
在下面的Knockoutjs代码中,名字和姓氏都有效。显示全名时出现问题。它没有得到"this.firstName"answers"this.lastName"的值。我该如何解决这个问题。
var AppViewModel = {
firstName:ko.observable("Bert"),
lastName:ko.observable("Bertington"),
fullName:ko.pureComputed(function(){
return this.firstName()+ " "+this.lastName();
}, this, {deferEvaluation : false})
};
<h1>Introduction</h1>
<p>First name: <strong data-bind="text:firstName">todo</strong></p>
<p>Last name: <strong data-bind="text:lastName">todo</strong></p>
<p>First name: <input data-bind="value:firstName" /></p>
<p>Last name: <input data-bind="value:lastName" /></p>
<p>Full name: <strong data-bind="text:fullName"></strong></p>
我做了一些轻微的改变,因为我习惯于使用敲除
var AppViewModel = function (data){
this.firstName=ko.observable("Bert"),
this.lastName=ko.observable("Bertington"),
this.fullName=ko.computed(function(){
return this.firstName() + this.lastName()
}, this, {deferEvaluation : false})
}
appModel = new AppViewModel();
ko.applyBindings(appModel);
这是一把工作小提琴:
http://jsfiddle.net/su3sfdff/
如果您希望计算的是"实时"的
调整valueUpdate属性this:
<p>First name: <input data-bind="value:firstName,valueUpdate:['afterkeydown', 'input']" /></p>
<p>Last name: <input data-bind="value:lastName,valueUpdate:['afterkeydown', 'input']" /></p>
http://jsfiddle.net/su3sfdff/1/
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- Telerik rad组合框多列数据绑定
- AngularJS数据绑定与KnockoutJS数据绑定
- 动态插入Div会破坏KnockoutJS数据绑定
- 使用 Knockoutjs 的数据表数据绑定
- 围绕数据绑定库(如 AngularJS/KnockoutJS)创建抽象
- 使用 KnockoutJS,如何将数据绑定到来自同一视图模型的 2 个不同的<选择>标签
- KnockoutJS的多个数据绑定-值和javascript函数
- 使用PagerJS的KnockoutJS在数据绑定后停止工作
- 如何在JSON中使用Knockoutjs的数据绑定函数
- 在嵌套的ul上使用knockoutjs数据绑定
- 获取数据绑定的元素(使用KnockoutJS)
- KnockoutJS没有绑定数据
- 如何添加自定义数据绑定到knockoutjs'模板绑定
- 可以'我无法使用knockoutJS进行数据绑定
- 我如何将数据绑定到knockoutjs中的特定位置
- KnockoutJS数据绑定:从javascript点击中点击
- KnockoutJs中的条件数据绑定
- 使用prettyCheckable插件与knockoutjs 2.1检查数据绑定不工作
- 当与绑定一起使用时,KnockoutJS的数据绑定不起作用