在Ember 2.0 +

时间:2015-11-14 10:33:40

标签: ember.js

不推荐使用

Ember.View ,而选择组件。这很好,但我无法理解2.0版本。

大多数情况下,我使用didInsertElement挂钩运行一些jQuery代码等。但是现在已经弃用了Em.View类,我怎样才能实现同样的目的呢?我不想创建一个组件或类似的东西。为普通页面(路由)创建组件没有意义。仅仅因为它不是可重复使用的东西加上组件的范围是孤立的。

假设我们有一个关于路由,并且在渲染模板时我只想晒一些jQuery代码。我怎么能在Ember 2.0 +中做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以利用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
    });
  }
});

答案 1 :(得分:2)

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