2013-12-21 52 views
0
var view = Ember.View.extend({ 

templateName: 'some', 
//action: 'save', 
//click: function() { this.triggerAction(); }, 
init: function() { 
this._super(); 
this.set('controller', App.SomeController.create()) 
} 

}); 
view.create().appendTo("#divMain"); 

我在這裏創建視圖和附加到一個div,但在這裏,我必須明確地設置控制器this.set('controller', App.SomeController.create())分配/創建控制器,而創建灰燼查看

是否有可能在創建隱含分配控制器視圖?

回答

1

不,這有點倒退。

視圖的「不」具有控制器。控制器的「管理」一個視圖。父母控制者大部分時間都在管理視圖。考慮所有可重用項目,輸入助手,鏈接到所有視圖等,由他們的父控制器支持。

這就是說當你訪問一條路線時,Ember將模板連接到支持該路線的視圖/控制器。通常這些是默認的實現,你沒有指定任何不同的東西。

以下是Ember View上的控制器屬性。

/** 
    The controller managing this view. If this property is set, it will be 
    made available for use by the template. 

    @property controller 
    @type Object 
    */ 
    controller: Ember.computed(function(key) { 
    var parentView = get(this, '_parentView'); 
    return parentView ? get(parentView, 'controller') : null; 
    }).property('_parentView'), 
+0

但問題是,templateName是從服務器獲取和視圖動態呈現。因此,在路線本身,我應該創建視圖並附加到DOM – dhinesh

+0

您可以進一步瞭解有關該問題的詳細信息嗎?就像爲什麼你需要一個控制器等 – Kingpin2k

+0

:我試圖從服務器動態加載視圖。但是當我創建視圖時,它不會獲取控制器,因此事件沒有得到連線。 – dhinesh