繁体   English   中英

灰烬选择和灰烬路由器

[英]Ember.Select and Ember.Router

我在玩Ember.Router 仔细阅读了Kasper Tidemann的出色的canonical-emberjs-routing-example示例之后 ,我想我大都知道了。

但是我想知道如何最好地将其与Ember.Select结合使用。
用例:我希望用户能够从下拉列表中选择模块,然后路由到正确的模块。

重新打开Ember.Select并覆盖valueDidChange怎么 还有更好的方法吗?

Em.Select.reopen({
  valueDidChange: Ember.observer(function() {
    this._super();
    console.log('selection changed');
    App.router.transitionTo(this.get('value'))
  }, 'value')
});

在我的评论中:

如果您重新打开Em.Select,则将所做的更改应用到Ember应用程序中的所有Select控件。 您可能想创建一个扩展Ember.Select的视图,然后覆盖valueDidChange方法。

我的意思是类似这样的东西

var RoutableSelect = Ember.Select.extend({
    valueDidChange: Ember.observer(function() {
        this._super();
        App.router.transitionTo(this.get('value'))
    }, 'value');
});

这样一来,您就不会覆盖Ember.Select的原始功能。 Ember.Select为应用的其余部分选择。 现在,您可以对要退出此功能的特定视图使用RoutableSelect

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM