1

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

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

和单个 html 文件

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

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

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

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

问候,

4

3 回答 3

1

您可以使用 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');
于 2013-04-29T05:24:07.400 回答
1

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

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

于 2013-03-13T13:30:55.380 回答
0

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

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

可能对其他人有用。

于 2013-03-14T05:52:02.923 回答