Ember.js 在Ember 2.0中插入元素+;

Ember.js 在Ember 2.0中插入元素+;,ember.js,Ember.js,Ember.View已被弃用,取而代之的是组件。这很好,但我在理解2.0版本时遇到了困难 大多数情况下,我使用didInsertElementhook来运行一些jQuery代码等。但是现在Em.View类已经被弃用,我如何实现同样的效果呢?我不想创建组件或类似的东西。为普通页面(路由)创建组件是没有意义的。因为它不是一个可重用的东西,加上组件的作用域是隔离的 假设我们有一个about路由,当呈现模板时,我只想sun一些jQuery代码。如何在Ember 2.0+中实现这一点?您可以利用didTr

Ember.View已被弃用,取而代之的是组件。这很好,但我在理解2.0版本时遇到了困难

大多数情况下,我使用
didInsertElement
hook来运行一些jQuery代码等。但是现在
Em.View
类已经被弃用,我如何实现同样的效果呢?我不想创建组件或类似的东西。为普通页面(路由)创建组件是没有意义的。因为它不是一个可重用的东西,加上组件的作用域是隔离的


假设我们有一个about路由,当呈现模板时,我只想sun一些jQuery代码。如何在Ember 2.0+中实现这一点?

您可以利用
didTransition
钩子和
Ember.run.next
。检查我的解决方案:

export default Ember.Route.extend({
  actions: {
    didTransition() {
      Ember.run.next(this, 'initParticles');
    }
  },
  initParticles() {
    let ammount = (window.matchMedia('(max-width: 456px)').matches) ? 40 : 100;
    particlesJS('particles-js', {
      // my options
    });
  }
});

虽然这似乎不是最好的方法,但创建组件可能是最好的选择。很快,我们将拥有可路由的组件,这些组件将接管控制器和视图的大部分功能。创建一个组件并将其插入到模板中应该会让您为可路由组件做好准备。

谢谢Daniel,这也很有效。既然视图已被弃用,在路由文件中保留这样的代码可以吗?