我是Ember
的新手,我不知道如何按照Ember的方式做事,所以我转向你。
我的问题:
我有一个侧边栏,我为它创建了一个View
。我现在侧边栏上有两个按钮。我为其上的每个按钮添加了action
。我不确定我是应该在控制器上还是在视图上处理它。我想点击其中一个按钮,插入一个新视图,打开一个弹出菜单,还有一个按钮,调用该动作保持选定状态。
我不太清楚如何做到这一点。我尝试使用操作来定位视图,但我无法访问目标元素,或者至少我不知道如何访问它(尝试this.$()
)。
您建议采用什么方式?
答案 0 :(得分:1)
用户'行动'使用Controller
或Route
上的方法处理。你应该把它们放在actions
散列中:
App.MyController = Ember.ObjectController.extend({
actions: {
doSomething: function() {
// do it here
}
}
});
Ember操纵DOM并根据资源和路径自动插入视图。如果您不想使用路由器,可以手动控制视图层次结构,但我建议您在尝试手动视图之前更熟悉Ember路由。
如果我是你,我会创建一个处理按钮的Component
。您将在didInsertElement
回调中引用DOM元素:http://emberjs.com/api/classes/Ember.Component.html#event_didInsertElement