我有这样的代码:
function ModelA() {
var self = this;
self.Message = ko.observable("Mesage");
}
ko.applyBindings(new ModelA());
我想以某种方式继承另一个模型已经绑定(bind)的模型:
function Modelb() {
var self = this;
self.Message2 = ko.observable("Mesage2");
}
我该怎么做?
最佳答案
作为 damiens 答案的替代方案,如果您尝试将原始模型扩展到的模型是动态的,那么您最好在原始模型中创建一个观测值。
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 可观察对象上使用 with
绑定(bind)。只是另一种选择。
关于javascript - 有没有办法在 knockoutjs 中扩展现有的 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263003/