Ember.js 余烬:当动作发生时如何访问元素?

Ember.js 余烬:当动作发生时如何访问元素?,ember.js,ember.js-view,Ember.js,Ember.js View,我是新来的Ember,我不知道如何用Ember的方式做事,所以我求助于你 我的问题: 我有一个侧边栏,我为它创建了一个视图。目前我在侧边栏上有两个按钮。我为每个按钮添加了一个操作。我不确定我应该在控制器上还是在视图上处理它。我想点击其中一个按钮,插入一个新的视图,打开一个弹出菜单,以及调用动作的按钮,使其保持选中状态 我不知道该怎么做。我尝试使用操作将视图作为目标,但我无法访问目标元素,或者至少我不知道如何访问它(尝试了this.$()) 您建议采用什么方式?用户的“操作”是通过控制器上的方法处

我是新来的
Ember
,我不知道如何用Ember的方式做事,所以我求助于你

我的问题:
我有一个侧边栏,我为它创建了一个
视图。目前我在侧边栏上有两个按钮。我为每个按钮添加了一个
操作
。我不确定我应该在控制器上还是在视图上处理它。我想点击其中一个按钮,插入一个新的视图,打开一个弹出菜单,以及调用动作的按钮,使其保持选中状态

我不知道该怎么做。我尝试使用操作将视图作为目标,但我无法访问目标元素,或者至少我不知道如何访问它(尝试了
this.$()


您建议采用什么方式?

用户的“操作”是通过
控制器上的方法处理的
路线上的方法处理的。您应该将它们放入
操作
散列:

App.MyController = Ember.ObjectController.extend({
    actions: {
        doSomething: function() {
            // do it here
        }
    }
});
Ember根据资源和路由自动操作DOM并插入视图。如果您不想使用路由器,可以手动控制视图层次结构,但我建议您在尝试手动视图之前先熟悉Ember路由


如果我是你,我会创建一个处理按钮的
组件。您将在
didInsertElement
回调中引用DOM元素:

我可能从这里开始@Beerlington推荐的一个链接,您应该阅读。emberjs.com上的指南很棒。