我有这样的代码:
function ModelA() {
var self = this;
self.Message = ko.observable("Mesage");
}
ko.applyBindings(new ModelA());
我想以某种方式通过另一个模型继承已经绑定的模型:
function Modelb() {
var self = this;
self.Message2 = ko.observable("Mesage2");
}
我该怎么做?
答案 0 :(得分:1)
作为达米恩回答的替代方案,如果你试图扩展原始模型的模型是动态的,你可能最好在原始模型中创建一个observale。
function ModelA() {
var self = this;
self.Message = ko.observable("Message");
self.SubModel = ko.observable();
self.extendModelB = function() {
self.SubModel(new ModelB());
}
self.extendModelC = function() {
self.SubModel(new ModelC());
}
}
function ModelB() {
var self = this;
self.Message2 = ko.observable("Message2");
}
function ModelC() {
var self = this;
self.Message3 = ko.observable("Message3");
}
然后在SubModel observable上使用with
绑定。只是另一种选择。
答案 1 :(得分:0)
这是一个可能有用的插件:http://plnkr.co/edit/M1Pt9Lt4UKB0Coe3PauH
如果Html元素绑定到模型,属性或函数,则绑定的元素在绑定时必须是模型的一部分。
这也可能有所帮助:http://www.knockmeout.net/2012/05/quick-tip-skip-binding.html