2013-03-13 142 views
1

當創建簡單的項目時,我們直接在相同的文件中指定模型和控制器,然後寫入。我app.js看起來是這樣的:CanJS文件夾結構

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

和單本

html文件,對於複雜的應用,我將有控制器,模型和視圖不同的文件夾。 我的第一個問題是

1當我將控制器放置在不同文件夾和模塊在不同文件夾中時,將如何進行調用。有人可以幫助我一個基礎文件的模板,它將調用所有的控制器。

1.如果我有一個簡單的html文件用於特定的控制器而不是ejs,它會工作嗎?

我知道這可能聽起來很愚蠢,但我很困惑。

問候,

回答

1

看一看的CanJS + RequireJS TodoMVC example。這應該證明使用AMD模塊版本CanJS開始使用RequireJS所需的一切。

當然,您可以在HTML文件中實例化您的控件,而無需使用EJS(或Moustache)視圖。

0

實例化一個HTML而不是EJS的,我們可以使用

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

可能是另外一個人有用。

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');