gpt4 book ai didi

javascript - 使用 Mixins 访问 Ember Controller

转载 作者:行者123 更新时间:2023-11-29 22:05:43 25 4
gpt4 key购买 nike

这个问题与this question I asked earlier有关.我有一个 Cat 模型,它有一个关联的 CatsController。我已经像这样添加了 EmberCrossfilter Mixin:

App.CatsController = Ember.ArrayController.extend(EmberCrossfilter, {
// stuff here
});

我现在想从我的索引 Controller 调用这个 Controller 上的一个 Action ,可以这样做:

App.IndexController = Em.ObjectController.extend({
needs: ['cats', 'dogs'],
actions: {
indexAction: function() {
this.get('controllers.cats').send('catAction')
this.get('controllers.dogs').send('dogAction')
}
}
})

操作被调用,但是如果我查看 this 对象,我得到一些没有 mixin 属性且数组长度为 0 的东西:

__ember1389647609449: undefined
__ember1389647609449_meta: Meta
_childContainers: Object
_subControllers: Array[0]
_super: undefined
model: (...)
sortAscending: (...)
sortProperties: (...)
get sortProperties: function () {
set sortProperties: function (value) {
__proto__: Object

如果我直接从我的猫模板调用 catAction 方法,并查看 this 对象,我会看到所有混合属性并且数组长度是正确的。

@each: (...)
get @each: function () {
set @each: function (value) {
__each: Class
__ember1389647609449: "ember425"
__ember1389647609449_meta: Meta
_childContainers: Object
_crossfilter: Object
_dimensionAge: Object
_dimensionColour: Object
_dimensionCountry: Object
_dimensionCuteness: Object
_dimensionDefault: Object
_dimensionName: Object
_dimensionNameRegexp: Object
_subControllers: Array[4]
_super: undefined
content: (...)
get content: function () {
set content: function (value) {
count: (...)
get count: function () {
set count: function (value) {
model: (...)
sortAscending: (...)
sortProperties: (...)
get sortProperties: function () {
set sortProperties: function (value) {
target: Class
toString: function () { return ret; }
__proto__: Object

这导致我在尝试从我的索引 Controller 调用操作时出现问题,因为传递的 CatsController 没有任何混合属性或方法。

有人知道我该如何解决这个问题吗?

最佳答案

mixin 的属性可能不会正确地出现在对象本身上,但是如果您在其上调用 get,将获取属性和 getters/setters

http://emberjs.jsbin.com/aSIZIbu/4/edit

关于javascript - 使用 Mixins 访问 Ember Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21101575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com