测试EXTJS自定义事件:当恐怖分子(Terrorist)在火车站掏刀时,触发一个砍人事件。警察将抓捕他。
群众(Person)看到砍人吓坏了。
Ext.onReady(function() {
Ext.define('Terrorist', {
mixins: {
observable: 'Ext.util.Observable' //必需继承Observable,才有自定义事件
},
constructor: function (config) {
this.mixins.observable.constructor.call(this, config);
this.addEvents(
'wasCatch',
'killPeople'
);
}
});
var newTerrorist = new Terrorist({
name: "恐怖分子",
knife:function(){
alert("触发一个砍人事件");
this.fireEvent("killPeople");
},
listeners: {
killPeople: function() {
alert("警察将抓捕他");
this.fireEvent("wasCatch");
},
wasCatch:function(){
alert("群众看到砍人吓坏了!");
}
}
});
alert(newTerrorist.name + "掏刀!");
newTerrorist.knife();
});