我是Ember
的新手,我不确定如何以Ember的方式做事,所以我转向你。
我的问题:我有一个边栏,我为它创建了一个View
。目前我在侧边栏上有两个按钮。我为它的每个按钮添加了一个action
。我不确定我是否应该在控制器或视图上处理它。我想在点击这些按钮之一,一个新的视图被插入,将打开一个弹出式菜单,也叫动作的按钮保持在一个选定的状态。
我不太确定如何做这件事。我试图用动作瞄准视图,但我无法访问目标元素,或者至少我不知道如何访问它(尝试this.$()
)。
你建议怎么做?
用户'动作'是用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