我正在尝试重新构建ember.js应用程序的紧密耦合部分,特别是控制器的视图和模板。
我见过的所有示例都直接将视图绑定到视图的类定义中的控制器,或者将(全局)控制器路径传递给模板本身的视图。
TargetActionSupport mixin(我认为sproutcore中的DelegateSupport)似乎是一个很好的候选者,但仍然需要在模板本身中设置目标(控制器)和动作。
理想情况下,我想在我的控制器中实例化我的视图(不知何故),设置目标和操作,但还在我的模板中设置表示变量(例如:静态类,id),但是我我不确定如何做到这一点,或者这是否是正确的方法。
答案 0 :(得分:5)
您可以以编程方式实例化视图并将其插入DOM中的任何位置:
var view = Ember.View.create();
view.appendTo('#someElement');
如果要消除全局绑定路径,可以在实例化时将控制器引用传递给视图:
var controller = Ember.Object.create({content: {}}),
view = Ember.View.create({
controller: controller,
contentBinding: 'controller.content'
});
我还建议调查Ember StateManager。