Extjs4 在extjs中使用createDelegate
这是我第一次尝试将用户定义的参数传递给IE9中extjs(4.0.1)中的处理函数。我有下面的代码,但它抛出了一个错误,指出Extjs4 在extjs中使用createDelegate,extjs4,Extjs4,这是我第一次尝试将用户定义的参数传递给IE9中extjs(4.0.1)中的处理函数。我有下面的代码,但它抛出了一个错误,指出SCRIPT438:Object不支持属性或方法“createDelegate”。我不确定我做错了什么。请帮忙 Js文件: Ext.onReady(function() { var appendBooleanOrInsertionIndex = 0; var myButtonHandler = function(item,a, b, arg){
SCRIPT438:Object不支持属性或方法“createDelegate”
。我不确定我做错了什么。请帮忙
Js文件:
Ext.onReady(function() {
var appendBooleanOrInsertionIndex = 0;
var myButtonHandler = function(item,a, b, arg){
alert(a + " "+ b);
};
var myButton = new Ext.Button({
id : 'myButton',
//renderTo : 'mybutton',
text : 'Save',
handler : myButtonHandler.createDelegate(this, ['Hi', 'Kart'], appendBooleanOrInsertionIndex),
scope : this
});
});
Ext停止向Ext4中的本机类原型添加逻辑。使用或。更正的代码如下:
Ext.onReady(function() {
var myButtonHandler = function(a, b){//alert("-->");
alert(a + " "+ b);
};
Ext.create('Ext.panel.Panel', {
renderTo: Ext.getBody(),
width: 800,
height: 300,
layout: 'column',
title: 'Container Panel',
//html: 'parent panel',
items: [
{
xtype: 'button',
id: 'mbutton',
text : 'My Button',
handler : Ext.Function.pass(myButtonHandler, ['Hi', 'Kart!!!!'])
}
]
});
});
你好,谢谢你的回复。我尝试了bind和pass,但得到了错误SCRIPT438:Object不支持ext-all-debug.js文件中的属性或方法“apply”。不知道是什么。请帮忙……你怎么打电话给bind/pass?这应该可以工作
处理程序:Ext.Function.pass(myButtonHandler,['Hi,'Kart'])
。你有没有其他可能会影响数组原型的库?嗨,wantok,我太蠢了,在函数语法中漏掉了一个逗号,这导致了错误。你说的是对的。使用Ext.Function.pass
成功了。更正后的代码在我的答案中。谢谢。