19
4

2 回答 2

29

您可以这样做的一种方法是扩展您Ember.LinkComponent以了解新属性:

Ember.LinkComponent.reopen({
  attributeBindings: ['data-toggle']
});

然后你可以在你的{{#link-to}}助手中使用它:

{{#link-to 'foo' data-toggle="dropdown"}}Foo{{/link-to}}

这将导致:

<a id="ember262" class="ember-view active" href="#/foo" data-toggle="dropdown">Foo</a>

由于attributeBindings是一个数组,您可以在其中放置您可能需要的多个属性:

attributeBindings: ['data-toggle', 'foo', 'bar']

希望能帮助到你。

于 2013-08-23T10:36:50.900 回答
9

@直觉像素

谢谢

你帮了很多忙。有了这些信息,我使用了 LinkView 并能够找到一个通用的解决方案:

Em.LinkView.reopen({
    init: function() {
        this._super();
        var self = this;
        Em.keys(this).forEach(function(key) {
            if (key.substr(0, 5) === 'data-') {
                self.get('attributeBindings').pushObject(key);
            }
        });
    }
});
于 2013-08-23T11:05:27.120 回答