【问题标题】:CanJS folder structureCanJS 文件夹结构
【发布时间】:2013-03-13 09:59:15
【问题描述】:

在创建简单项目时,我们直接在同一个文件中指定模型和控制器,然后编写。我的 app.js 看起来像这样:

var Library = can.Model({});   
var Control = can.Control({.....});    
var control = new Control('#main');

和一个单独的 html 文件

对于复杂的应用程序,我将为控制器、模型和视图设置不同的文件夹。 我的第一个问题是

1 当我将控制器放在不同的文件夹中并将模块放在不同的文件夹中时,调用将如何发生。有人可以帮我提供一个将调用所有控制器的基本文件模板吗?

1.如果我有一个用于特定控制器而不是 ejs 的简单 html 文件,它会起作用吗?

我知道这在某种程度上听起来很愚蠢,但我很困惑。

问候,

【问题讨论】:

    标签: javascript canjs application-structure


    【解决方案1】:

    看看CanJS + RequireJS TodoMVC example。这应该展示了您使用 CanJS 的 AMD 模块版本开始使用 RequireJS 所需的一切。

    当然,您可以在 HTML 文件中实例化您的控件,而无需使用 EJS(或 Mustache)视图。

    【讨论】:

      【解决方案2】:

      您可以使用 require.js 之类的工具,您的代码将如下所示:

      define(['control' ], function(Control){ 
          var control = new Control('#id');       
      });
      

      或者使用命名空间:

      // user_control.js
      APP.controllers = APP.controllers || {};
      APP.controllers.UserControl = can.Control({...
      
      // other file
      var control = APP.controllers.UserControl('#id');
      

      【讨论】:

        【解决方案3】:

        要实例化一个 html 而不是 ejs,我们可以使用

        this.view({
                    url: 'views/demos/accordion.html'
                });
        

        可能对其他人有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-08
          • 2021-11-18
          • 2021-04-11
          • 2015-04-06
          • 2014-02-18
          • 2018-08-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多