backbone.js - Ojet ViewModel 中的关注点分离
问题描述
我正在使用默认导航模板创建一个新的 OJET 应用程序。我的 ViewModel 代码变得庞大,因为我有许多验证和 API 需要调用。如何将我的整个验证逻辑分离到一个单独的 JS 文件中并将这个文件导入我的 ViewModel。我尝试在 main.js 级别创建一个新文件并将其添加到 m viewmodel 的定义部分,但这不起作用。
解决方案
OJET 有库 require.js 可以实现延迟加载。
在您的 ViewModel 代码中,您必须以与此处类似的方式定义您的依赖项,并将其作为参数传递以便能够调用此导入(请注意定义中依赖项的顺序):
define([..., 'your-dependency-here', ...],
function(..., dependency, ...) {
dependency.function();
您还需要在 js 文件夹中的 path_mapping.json 中传递这个新文件,如下所示:
"your-dependency-here": {
"debug": {
"path": "path/to/dependency/from/jsFolder"
},
"release": {
"path": "path/to/dependency/from/jsFolder"
}
}
另外,不要创建依赖项的循环,这会导致 require.js 中的错误。
推荐阅读
- java - 从excel模板读取数据并写入同一个文件
- java - Java Swing 中的 GridBagLayout
- javascript - 嵌入式调查JS问题
- php - 带有元音突变的 SQL 字符串的问题
- javascript - Django:选中复选框时删除对象
- animation - 如何在颤动的 appBar 图标上的购物车图标上添加商品编号?我怎样才能让它动画添加新项目?
- php - 如何检查现有的“tarificationtache”
- c - 给数据一个有效的类型算作副作用吗?
- azure-devops - MS VSTS 如何在工作项中添加/修改字段
- c# - 例外是 System.Data.SqlClient.SqlException:'9988' 附近的语法不正确