使用 Mixin 将控制器添加到需求中
Add Controller to needs with Mixin
我正在尝试为使用很多相同功能的控制器创建一个 mixin,但我需要确保所有控制器也都可以访问一些基本控制器。我目前通过添加到 needs
来做到这一点。
// mixins/item.js
import Ember from 'ember';
export default Ember.Mixin.create({
needs: ['application']
});
// controller/items.js
import Ember from 'ember';
import ItemMixin from '../mixins/item'
export default Ember.Controller.extend(ItemMixin,{
needs: ['index']
});
问题是许多控制器都有 needs
附带的额外控制器。根据我的测试,控制器中的 needs
覆盖了 mixin 中的设置。
是否有合并 need
的方法?
needs
做合并。也就是所谓的"concatenated property".
你做了什么样的测试表明它被覆盖了?这将严重限制您编写控制器混入和超类的能力,而且它不是这样工作的。
我正在尝试为使用很多相同功能的控制器创建一个 mixin,但我需要确保所有控制器也都可以访问一些基本控制器。我目前通过添加到 needs
来做到这一点。
// mixins/item.js
import Ember from 'ember';
export default Ember.Mixin.create({
needs: ['application']
});
// controller/items.js
import Ember from 'ember';
import ItemMixin from '../mixins/item'
export default Ember.Controller.extend(ItemMixin,{
needs: ['index']
});
问题是许多控制器都有 needs
附带的额外控制器。根据我的测试,控制器中的 needs
覆盖了 mixin 中的设置。
是否有合并 need
的方法?
needs
做合并。也就是所谓的"concatenated property".
你做了什么样的测试表明它被覆盖了?这将严重限制您编写控制器混入和超类的能力,而且它不是这样工作的。