Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何将值从一个视图传递到另一个视图?_Extjs_Extjs4.2 - Fatal编程技术网

Extjs 如何将值从一个视图传递到另一个视图?

Extjs 如何将值从一个视图传递到另一个视图?,extjs,extjs4.2,Extjs,Extjs4.2,我试图将值从一个视图传递到另一个视图,下面是我迄今为止尝试过的代码,但没有成功 view1.js var newWindow = Ext.create( 'newView', {"clickedRule" : clickedvalue} ); signerWindow.show(); newView.js Ext.define('newView', { extend : 'Ext.window.Window', id : 'newWindow', co

我试图将值从一个视图传递到另一个视图,下面是我迄今为止尝试过的代码,但没有成功

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
}); 
我不太清楚,非常感谢你的帮助


提前谢谢

Ext.create
中执行此操作:

var newWindow = Ext.create( 'newView', {
    clickedRule : clickedvalue, 
    title       : 'Title Selection ' + clickedValue
});
newWindow.show();
并丢失类上的
标题
配置:

Ext.define('newView', {
      extend : 'Ext.window.Window',
          id : 'newWindow',
 constructor : function (clickedRule){
                 Ext.applyIf(this, clickedRule);
                    this.callParent();
               },         
    requires : ['Ext.form.Panel']
});
根据评论编辑:

在这种情况下,您必须将其放入
initComponent
函数中:

引用窗口类的实例,因此在类定义(配置语句)中不可用,但您可以在使用
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组件添加构造函数逻辑的正常方法

保留原始的
create
语句:

var newWindow = Ext.create( 'newView', {clickedRule : clickedvalue} );
console.log(newWindow.clickedRule);
您可以在
create
语句之后访问
clickedRule
属性:

var newWindow = Ext.create( 'newView', {clickedRule : clickedvalue} );
console.log(newWindow.clickedRule);

实际上,我需要向newView传递4个以上的参数,并且还必须在一些ajax调用中使用它。。我把它放在标题中只是为了检查值,但我的目的是稍后使用它。我尝试了你编辑的答案不起作用,你尝试了吗?@PriyankGoswami switch
构造函数
for
initComponent
函数,它会很好地工作(见上文)-testedOk非常感谢。我现在在initComponent中获得了价值。但是我可以从initComponent中获取它吗?@PriyankGoswami您可以在
create
语句之后访问
clickedRule
属性(参见上面的最后一行)-而不是从config语句中-只是OOP的性质(参见编辑中的第二段)。