didInsertElement事件和除非阻止

时间:2013-07-25 14:17:53

标签: ember.js

我正在尝试这个:

didInsertElement: function(){
    this.$('[data-hover="dropdown"]').dropdownHover();
  },

我在{{unless}}块中使用data-hover =“dropdown”锚定。

但是在didInsertElement中,锚不在DOM中。

还有其他事件吗?

1 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题。一种可能性是添加一个观察者,该观察者监视与除非块相同的属性的更改。当观察者触发它时,会将dropdownHover()代码添加到afterRender队列。

更简单的方法是使锚标记成为自定义视图并自定义它的didInsertElement钩子。类似的东西:

App.DropDownLink = Ember.View.extend({
  tagName: 'a'
  didInsertElement: function(){
    this.$('[data-hover="dropdown"]').dropdownHover();
  }
})