列表在控制器中初始化
list initialize in controller
我是sencha的新手,我正试图加载一个带有参数的商店,这取决于我所处的视图;
因此,我试图捕获列表的initialize事件,并在其中加载存储。
但是初始化方法似乎不会触发
我的控制器
Ext.define('FifaKings.controller.MainController', {
extend: 'Ext.app.Controller',
config: {
views: ['Main','InsertMatch','Kings'],
models: ['Match','User','Team'],
stores: ['Match','Team','User'],
refs: [
{
ref: 'insertMatchForm',
selector: '#insertMatchForm'
}
]
},
init: function() {
console.log('Initialized!');
Ext.Viewport.add(Ext.create('FifaKings.view.Main'));
this.control({
'button[action=insertMatchSubmit]' : {
tap: 'insertMatchForm'
},
'list[id=kingsLeagueList]' : {
initialize: 'loadKingsMatches'
}
});
},
insertMatchForm : function(){
var form = this.getInsertMatchForm();
form.submit({
url:'contact.php'
});
},
loadKingsMatches : function(){
console.log('shit is working');
}
});
我的观点:
Ext.define('FifaKings.view.Kings', {
extend: 'Ext.navigation.View',
requires:[
'Ext.dataview.List'
],
xtype:'kingspanel',
config: {
title: 'Kings',
iconCls: 'star',
items: {
xtype: 'list',
id:'kingsLeagueList',
itemTpl: new Ext.XTemplate(
'<table width="100%" border="0">',
'<tr>',
'<td width='"35%'">{Player1}</td>',
'<td width='"30%'" align='"center'">{ScorePlayer1} - {ScorePlayer2}</td>',
'<td width='"35%'" align='"right'">{Player2}</td>',
'</tr>',
'</table>'
),
store: 'Match'
}
}
});
要引用您的列表,您应该执行以下操作:
this.control({
'button[action=insertMatchSubmit]' : {
tap: 'insertMatchForm'
},
'kingspanel list' : {
initialize: 'loadKingsMatches'
}
});
我习惯于从不使用id,以防我必须创建两个相同的组件
希望这能帮助
相关文章:
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- Angular JS控制器初始化错误
- 在路线转换后重新初始化物料控制器
- 通过因果报应测试管理angularjs控制器初始化
- 每次属性更改时,角度控制器都会初始化
- 角度测试:监视在控制器初始化时执行的函数
- AngularJS在初始化仪表板控制器之前使用$htttp获取仪表板设置
- 列表在控制器中初始化
- 更改包含的页面和URL,而无需在AngularJS中重新初始化控制器
- Angularjs 控制器初始化
- 角度.js:在异步加载的模板上初始化控制器
- 在 AngularJS 中实例化和初始化控制器
- 通过 ajax 请求初始化控制器
- AngularJS:初始化控制器时运行代码
- 用几个ajax请求初始化控制器的最佳方式
- 角度:在初始化控制器之前重新加载$rootscope用户
- 在用karma测试angularjs时初始化控制器错误
- AngularJS:如何从$routeProvider初始化控制器
- 如何在angularJS中初始化控制器$scope变量