0

我正在尝试这个:

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

我在 {{unless}} 块中有带有 data-hover="dropdown" 的锚点。

但是锚点不在 DOM 中的 didInsertElement 中。

还有其他活动吗?

4

1 回答 1

1

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

更简单的是使锚标记成为自定义视图并自定义它的 didInsertElement 钩子。就像是:

App.DropDownLink = Ember.View.extend({
  tagName: 'a'
  didInsertElement: function(){
    this.$('[data-hover="dropdown"]').dropdownHover();
  }
})
于 2013-07-25T17:26:51.210 回答