【发布时间】:2014-05-23 13:36:14
【问题描述】:
我正在开发一个具有 DurandalJS 2.0.1 的应用程序。我写了一个viewmodel,基本上我想实现一个有多个viewmodel的主viewmodel(例如帐户viewmodel有注册和登录子viewmodels)
define(['knockout'],function (ko) {
var register = function(){
var self = this;
self.Welcome = "Register";
self.Username = ko.observable();
self.Password = ko.observable();
}
var login= function(){
var self = this;
self.Welcome = "Login";
self.Username = ko.observable();
self.Password = ko.observable();
}
var account = {
testVariable : "Hello Cruel World!",
register : register,
login : login
};
return account;
});
视图是:
<h2 data-bind="text: testVariable"></h2>
<h2 data-bind = "text: register().Welcome"></h2>
<h2 data-bind = "text: login().Welcome"></h2>
testVariable 显示正确,但我无法使 register().Welcome、login().Welcome 或尝试 register.Welcome 或 login.Welcome 工作。
知道如何让它工作吗?
【问题讨论】:
-
您已将
login和register方法编写为构造函数,因此您需要执行new login()和new register()。我建议在创建account视图模型时立即执行此操作,而不是在绑定中执行此操作(这可能会给您带来其他长度问题)。 -
谢谢伙计,我已经设法用几乎没有什么不同的方法找到了我自己的问题的答案,但它有效:-) 我会自己在这里发布..
标签: durandal durandal-2.0