通过重新打开来覆盖Ember Controller的“需求”

乌西拉曼

我有一个想重新打开的基本控制器,所以我可以覆盖'needs'参数,但是,新参数会添加到'needs'参数中。

例如,我原来的控制器看起来像这样:

App.MessagesController = Ember.ArrayController.extend({
    needs: ['blog', 'services', 'post_edit']  
});

我的构建过程在另一个应用程序中包含此控制器文件,并且为避免代码冗余,我希望能够重新打开控制器并根据需要对其进行一些小的更改,包括“ needs”参数。像这样:

App.MessagesController.reopen({
    needs: ['post', 'services']  
});

问题在于,当运行此代码时,'needs'参数不会被覆盖-它是扩展的。它实质上变成:needs: ['blog', 'services', 'post_edit', 'post']

有没有一种方法可以通过重新打开来覆盖控制器的“需要”参数?还是完全有更好的方法?


为清楚起见进行编辑:

在控制器上进行查找会显示控制台错误,该错误表明未覆盖“需要”参数。

$: App.__container__.lookup('controller:Messages');

Error: <App.MessagesController:ember322> needs [ controller:blog,    controller:post_edit ] but they could not be found

在重新打开中将另一个伪造的控制器项添加到“需要”参数中会添加到此错误消息。

劲派2k

您可能希望将应用程序1中的功能提取到mixin中,并将其包含在控制器中。然后在两个应用程序之间共享具有共享功能的基本控制器。

//Included in both apps
App.BaseMessagesController = Ember.ArrayController.extend({
  sharedValue:'foo'
});

//App 1
App.App1Mixin = Ember.Mixin.create({
    needs: ['blog', 'services', 'post_edit']  
});

App.MessagesController = Ember.BaseMessagesController.extend(App.App1Mixin,{

});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Ember对象的“需求”

来自分类Dev

不显示!使用jQuery覆盖的重要需求

来自分类Dev

不显示任何内容!使用jQuery覆盖的重要需求

来自分类Dev

使用pip重新安装需求文件

来自分类Dev

在circlePageIndicator中启动应用程序时打开需求布局

来自分类Dev

Python Matplotlib - 通过重新添加脊椎来覆盖样式表

来自分类Dev

您如何通过声明性验收测试来捕获需求?

来自分类Dev

通过hiera中的数据自动创建需求参数

来自分类Dev

如何通过cmake中的接口库正确传播使用需求?

来自分类Dev

防止通过重定向覆盖文件

来自分类Dev

通过重定向打开NotesURL

来自分类Dev

通过重写TabbarViewController中的shouldSelect方法来推送View Controller

来自分类Dev

在ember-cli单元测试中如何访问需求元素

来自分类Dev

使用需求将对象注入Ember.js中的其他对象

来自分类Dev

如何使用pip从需求文件安装pkg而无需重新安装

来自分类Dev

重新安装python 3.7.3后无法安装需求文件

来自分类Dev

无法打开需求文件:[Errno 2]没有这样的文件或目录:'requirements.txt'

来自分类Dev

灰烬组件不能通过“需求”使用访问控制器属性

来自分类Dev

如何通过动态表设计将来证明这些可能的需求更改(交换主键列)?

来自分类Dev

非功能需求和功能需求示例

来自分类Dev

软件需求分析-需求的正确性

来自分类Dev

通过重新排序元组来排序元组列表

来自分类Dev

通过重新采样来调整向量的大小

来自分类Dev

通过重新压缩其内容来减小APK的大小

来自分类Dev

通过重新排序表格来更新位置字段

来自分类Dev

如何通过重新启动导航回到活动?

来自分类Dev

时间配置不会通过重新启动而持续

来自分类Dev

通过重新调整空结果来更改Couchbase顺序

来自分类Dev

迭代器需求满足

Related 相关文章

  1. 1

    使用Ember对象的“需求”

  2. 2

    不显示!使用jQuery覆盖的重要需求

  3. 3

    不显示任何内容!使用jQuery覆盖的重要需求

  4. 4

    使用pip重新安装需求文件

  5. 5

    在circlePageIndicator中启动应用程序时打开需求布局

  6. 6

    Python Matplotlib - 通过重新添加脊椎来覆盖样式表

  7. 7

    您如何通过声明性验收测试来捕获需求?

  8. 8

    通过hiera中的数据自动创建需求参数

  9. 9

    如何通过cmake中的接口库正确传播使用需求?

  10. 10

    防止通过重定向覆盖文件

  11. 11

    通过重定向打开NotesURL

  12. 12

    通过重写TabbarViewController中的shouldSelect方法来推送View Controller

  13. 13

    在ember-cli单元测试中如何访问需求元素

  14. 14

    使用需求将对象注入Ember.js中的其他对象

  15. 15

    如何使用pip从需求文件安装pkg而无需重新安装

  16. 16

    重新安装python 3.7.3后无法安装需求文件

  17. 17

    无法打开需求文件:[Errno 2]没有这样的文件或目录:'requirements.txt'

  18. 18

    灰烬组件不能通过“需求”使用访问控制器属性

  19. 19

    如何通过动态表设计将来证明这些可能的需求更改(交换主键列)?

  20. 20

    非功能需求和功能需求示例

  21. 21

    软件需求分析-需求的正确性

  22. 22

    通过重新排序元组来排序元组列表

  23. 23

    通过重新采样来调整向量的大小

  24. 24

    通过重新压缩其内容来减小APK的大小

  25. 25

    通过重新排序表格来更新位置字段

  26. 26

    如何通过重新启动导航回到活动?

  27. 27

    时间配置不会通过重新启动而持续

  28. 28

    通过重新调整空结果来更改Couchbase顺序

  29. 29

    迭代器需求满足

热门标签

归档