gpt4 book ai didi

knockout.js - 使用 KnockoutJS 计算属性的原型(prototype)

转载 作者:行者123 更新时间:2023-12-04 13:23:39 25 4
gpt4 key购买 nike

是否建议在原型(prototype)对象上创建计算属性?

这是我在下面尝试过的,但是 firstName绑定(bind)将函数作为字符串返回,而不是执行它( http://jsfiddle.net/W37Yh )。

var HomeViewModel = function(config, $, undefined) {

if (!this instanceof HomeViewModel) {
return new HomeViewModel(config, $, undefined);
}

this.firstName = ko.observable(config.firstName);
this.lastName = ko.observable(config.lastName);
};

HomeViewModel.prototype.fullName = function() {
return ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
};

var model = new HomeViewModel({
firstName: "John",
lastName: "Smith"
}, jQuery);

ko.applyBindings(model);​

最佳答案

this不是实际 View 模型,因为尚未创建实例。你可以做

ViewModel = function() {
this.fullName = ko.computed(this.getFullName, this);
};

ViewModel.prototype = {
getFullName: function() {
return this.firstName() + " " + this.lastName();
}
};

关于knockout.js - 使用 KnockoutJS 计算属性的原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14120507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com