Хороший вопрос ....
ExtJs имеют одно преимущество, то есть, чтобы слушать действие элемента путем использования его путь и некоторый уникальный атрибут, например Inside_Some_XType-> TabPanel-> TabName-> Кнопка так попробовать это манера ...
следующий пример того, что я сделал в моем проекте, прежде чем он будет поможет вам
часы в разделе реф, как мы сделали это ...
Ext.define("XCP.controller.LoginController", {
extend: "Ext.app.Controller",
views: ["LoginScreen"],
refs: [
//Ext.ComponentQuery
{ ref: "userName", selector: "login > textfield[id=usernametext]" },
{ ref: "password", selector: "login > textfield[inputType=password]" },
{ ref: "homeScreen", selector: "home" }
],
init: function() {
this.control({
"login > button[text=Submit]": {
click: this.onLoginButtonClicked
},
"login > button[text=Reset]": {
click: this.onResetButtonClicked
},
"#logoutbutton": {
click: this.onLogoutButtonClicked
}
});
},
onLogoutButtonClicked: function() {
this.application.viewport.getLayout().setActiveItem(0);
},
onResetButtonClicked: function() {
alert("Reset");
},
onLoginButtonClicked: function() {
if (this.getUserName().getValue() == "admin" &&
this.getPassword().getValue() == "admin") {
if(!this.getHomeScreen())
this.application.viewport.add({ xtype: "home", id: "homescreen" });
this.application.viewport.getLayout().setActiveItem(1);
}
else
alert("Invalid credentials");
}
});
, в противном случае вы должны создавать по умолчанию и уникальный идентификатор для каждой кнопки на вкладке ... ее не возобновлять.
хммм ........... – vino20
спасибо, я сделать это с помощью двух условий, если (activeTab == 'tab1') {...} else if {...} – user3045654
good ........... – vino20