我可以在{{link-to}}帮助器上强制“主动”课吗?

时间:2014-07-30 17:02:07

标签: ember.js ember-cli

这可能是一个边缘案例,说明ember如何在指向帮助者的链接上添加“活动”类。

我的当前路由器设置如下:

import Ember from 'ember';
var Router = Ember.Router.extend({
  location: PortalDevENV.locationType
});

Router.map(function() {
    this.resource('portal', function() {
        this.route('admin');
        this.resource('placements', function() {
            this.route('import-debtors');
            this.resource('add-debtor', function() {
                this.route('debtor-form');
            });
            this.route('view-debtors');
        });
        this.resource('debtor', {path: 'placements/view-debtors/debtor/:debtor_id'}, function() {
            this.route('agent-notes');
            this.route('transactions');
        });
    });
});

export default Router;

注意我有一个名为“debtor”的资源 - 当它正在渲染到门户网站模板中时 - 我仍然需要出现(就URL而言)是一个孩子“观察 - 债务人”路线......实际上,它在一组单独的模板中更深层次地嵌套。

这个结构似乎运行正常,但它打破了我的面包屑式导航。

当进入“债务人”页面时...我仍然希望“查看债务人”{{link-to}}帮助者从ember中获取“活跃”类...以及{{link-to}}的那个导致“观点 - 债务人”。

这可以通过调用路线中的某些功能......或者其他方式来实现吗?

它似乎不是一个常见的余烬约定......但是再一次也许Ember确实以这种方式工作,我做了别的事情打破了它?看看我的设置是否正确。

1 个答案:

答案 0 :(得分:1)

您应该能够将活动类绑定到计算属性。假设您所指的{{link-to}}位于application.hbs模板中,您可以执行以下操作:

// templates/applictaion.hbs
{{#link-to "view-debtors" class="isDebtorsRoute:active"}}View Debtors{{/link-to}}


// controllers/application.js
export default Ember.Controller.extend({
  isDebtorsRoute: function() {
    // use this.get('currentRouteName') or this.get('currentPath')
  }.property('currentPath')
})

编辑:这是一个jsbin示例http://emberjs.jsbin.com/wuhor/1/edit?html,css,js,output