【问题标题】:Separation of concerns in Ojet ViewModelOjet ViewModel 中的关注点分离
【发布时间】:2020-05-17 06:28:29
【问题描述】:

我正在使用默认导航模板创建一个新的 OJET 应用程序。我的 ViewModel 代码变得庞大,因为我有许多验证和 API 需要调用。如何将我的整个验证逻辑分离到一个单独的 JS 文件中并将这个文件导入我的 ViewModel。我尝试在 main.js 级别创建一个新文件并将其添加到 m viewmodel 的定义部分,但这不起作用。

【问题讨论】:

    标签: backbone.js requirejs oracle-jet


    【解决方案1】:

    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 中的错误。

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 2018-08-13
      • 1970-01-01
      相关资源
      最近更新 更多