余烬:当动作发生时如何访问元素



我是Ember的新手,我不确定如何以Ember的方式做事,所以我转向你。


我的问题:我有一个边栏,我为它创建了一个View。目前我在侧边栏上有两个按钮。我为它的每个按钮添加了一个action。我不确定我是否应该在控制器或视图上处理它。我想在点击这些按钮之一,一个新的视图被插入,将打开一个弹出式菜单,也叫动作的按钮保持在一个选定的状态。

我不太确定如何做这件事。我试图用动作瞄准视图,但我无法访问目标元素,或者至少我不知道如何访问它(尝试this.$())。

你建议怎么做?

用户'动作'是用ControllerRoute上的方法处理的。你应该把它们放在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

相关内容

  • 没有找到相关文章

最新更新