控制器上缺少xtype / alias,在refs中使用
Missing xtype / alias on a Controller, using in refs
我对控制器上的xtype和alias有点困惑。这是我的控制器,我从未添加过xtype或别名。是默认创建的吗?我似乎没有在控制器实例上找到它。
据我所知,如果我创建一个xtype,那么别名会自动分配一个前缀widget?这是否也适用于别名创建和xtype将分配更少的小部件前缀?
我问的原因是我在另一个控制器中做getController,我想知道我是否可以在另一个控制器下分配一个ref使用xtype。
这可能吗?还是应该一直调用getController?
您应该使用getController
来获取对另一个控制器的引用。没有办法使用别名或xtype。如果你能将控制器A的参考值设置在控制器B上,反之亦然,会发生什么?
但是…还有其他方法可以从另一个控制器调用方法。这个例子没有经过测试。
例如,你可以从控制器a借用控制器b的方法:
Ext.define('MyApp.app.ControllerA', {
extend : 'Ext.app.Controller',
requires : [
'MyApp.app.ControllerB'
],
...
}, function(Controller) {
Controller.borrow(MyApp.app.ControllerB, ['methodA', 'methodB', 'methodC', 'methodD']);
});
你也可以(我更喜欢这个,因为异步应用程序应该是事件驱动的)监听从控制器触发的事件:
Ext.define('MyApp.controller.ControllerA', {
extend: 'Ext.app.Controller',
id: 'controllerAId',
init: function() {
var me = this;
me.fireEvent('bar');
}
});
Ext.define('MyApp.controller.ControllerB', {
extend: 'Ext.app.Controller',
init: function() {
var me = this;
me.listen({
global: {
...
},
controller: {
'*': {
foobar: 'onAnyFooBar'
},
'#controllerAId': {
bar: 'onFooBar'
}
},
component: {
...
},
store: {
...
}
});
},
onFooBar: function(controller) {
console.log('Controller B', 'onFooBar');
}
});
我会去监听你试图访问的控制器中的事件,你可以从任何你想要的地方触发它。使用getcontroller (App.controller.controllerName)的问题是,如果文件没有加载它,它将加载到您的应用程序中,这可能会有一些负面的性能问题(例如,如果控制器很大,可能需要很长时间才能从服务器提取资源等)。
相关文章:
- reactjs this.refs vs document.getElementById
- React props={this.refs.something} undefined
- webpack 1:resolve.alias 不将一个 npm 模块别名到另一个 npm 模块
- 如何在 React js 中正确使用 Refs
- 不能使用 resolve.alias 进行 JEST 测试
- this.refs.something returns "undefined"
- React-Native:ScrollView,refs和自定义组件
- this.refs 是一个空对象,尽管应该设置它
- alias 和 varName 之间的 browserify-shim 区别 = require(“module”)
- 在 React.js 中将 this.refs 作为 jsx 中的属性传递
- React refs - 使用 refs 访问 DOM 节点
- CSS class alias
- 如何在 react.js 中使用 refs 从文件类型的 html 输入表单中获取文件数据
- 为什么我可以't通过this.refs.xx调用函数
- Refs在react上的工作方式0.14
- React查找DOM节点通过refs设置为变量
- 在React中使用refs有什么不好的做法?
- refs是否在extjs中被重写或继承
- Alias替换组件上的ItemId
- 控制器上缺少xtype / alias,在refs中使用