灰烬转换仅当前路线不同时

时间:2016-02-11 15:36:44

标签: javascript ember.js

在我的Ember应用程序中,我最初从根级别(/)开始,我有多个链接(比如Link1,Link2,Link3)

现在每个链接都显示一个公共网格,即我使用相同的路径/控制器/模板JS,但通过在控制器上动态设置一些属性来重新渲染网格

因此,在我的application.js中,我做了

this.controllerFor('my-grid').set('attr1', params[0].value);
this.controllerFor('my-grid').set('attr2', params[1].value);
this.transitionTo('my-grid');

这是转换的正确方法吗?

我的意思是,特别是我需要

this.transitionTo('my-grid');

只被调用一次(比如从root用户点击link1),因为在那之后点击link2,link3只需要在同一个控制器上更改属性值,并且应该重新渲染网格(在服务器之后) api电话)

请建议我是否有可以检查来电的情况 this.transitionTo( '我的栅');

1 个答案:

答案 0 :(得分:0)

在您的申请中,您可以查看ApplicationController.currentPath

this.controllerFor('my-grid').setProperties({
    attr1: params[0].value,
    attr2: params[1].value
});

if (this.controllerFor('application').get('currentPath') !== 'my-grid') {
    this.transitionTo('my-grid');
}