使用 Durandal 和 Required 的静态模块声明
Static module declaration using Durandal and Require
我正在使用Durandal和Require作为我的SPA应用程序。我也在使用约翰爸爸的热毛巾模板。
对于我的模块,我需要根据请求创建其中一些模块,其中一些是单例。
define([], function(){
var bookId = ko.observable();
var bookName = ko.observable();
return {
bookId: bookId,
bookName: bookName
};
}
上面的模块似乎为每个组合使用返回一个新实例,如下所示:
compose: {model: 'viewmodels/book'}
但是,如果我希望视图模型在所有合成中都相同,该怎么办?例如,我想要一个名为 loginInfo
的登录视图模型,它将在很多地方使用,因此它不应该在每个合成上初始化,因为它是在第一次登录时在某个地方启动的。
compose: {model: 'viewmodels/loginInfo'}
在杜兰达尔中,如果视图模型返回一个对象
define(function(require) {
return { a: 1, b: 2 }
});
杜兰达尔将保留相同的对象。如果视图模型返回构造函数
define(function(require) {
return Function() {
this.a = 1;
this.b = 2;
}
});
Durandal 将通过调用构造函数创建一个新对象。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Node.js正在更改应用程序以使用集群模块
- 如何处理10页以上的静态页眉/页脚
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- Grunt-connect在根目录之外提供静态文件
- JavaScript命名约定;静态“;类或模块
- 使用 Babel 转译器导入类并调用带有 ES6 模块的静态方法
- Node.js-模块导出静态变量
- 错误:找不到模块'html',可以't提供静态文件
- 使用 Durandal 和 Required 的静态模块声明
- 如何使用公共静态实现模块模式
- 如何模块化静态HTML文件
- react本机选项卡导航器npm模块在静态proptype中显示意外的令牌