CanJS文件夹结构

时间:2013-03-13 09:59:15

标签: javascript canjs application-structure

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

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

和此

的单个html文件

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

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

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

我知道这可能听起来有点愚蠢,但我很困惑。

此致

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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');

答案 2 :(得分:0)

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

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

可能对其他人有用。