我正在尝试将值从一个视图传递到另一个视图,下面是我到目前为止尝试但没有运气的代码,
view1.js
var newWindow = Ext.create( 'newView', {"clickedRule" : clickedvalue} );
signerWindow.show();
newView.js
Ext.define('newView', {
extend : 'Ext.window.Window',
id : 'newWindow',
constructor : function (clickedRule){
Ext.applyIf(this, clickedRule);
this.callParent();
},
requires : ['Ext.form.Panel'],
title : 'Title Selection'+ this.clickedRule
});
我未定义,非常感谢您的帮助。
提前致谢。
答案 0 :(得分:1)
在Ext.create
中执行此操作:
var newWindow = Ext.create( 'newView', {
clickedRule : clickedvalue,
title : 'Title Selection ' + clickedValue
});
newWindow.show();
并丢失了该类的title
配置:
Ext.define('newView', {
extend : 'Ext.window.Window',
id : 'newWindow',
constructor : function (clickedRule){
Ext.applyIf(this, clickedRule);
this.callParent();
},
requires : ['Ext.form.Panel']
});
根据评论进行修改:
在这种情况下,你必须将它放在initComponent
函数中:
this
是指您的窗口类的实例,因此在类定义(config语句)中不可用,但您可以在使用该类初始化类后访问它initComponent
功能:
Ext.define('newView', {
extend : 'Ext.window.Window',
id : 'newWindow',
initComponent: function (){
var clickedRule = this.clickedRule;
// title can also be defined here
this.title = 'Title Selection ' + clickedRule;
this.callParent();
},
requires : ['Ext.form.Panel']
});
initComponent
是向ExtJS 组件添加构造函数逻辑的常用方法。 See this in the docs.
保留原始create
声明:
var newWindow = Ext.create( 'newView', {clickedRule : clickedvalue} );
您可以在clickedRule
声明之后访问create
媒体资源:
console.log(newWindow.clickedRule);