sencha 无法在控制器中触发我的标签显示事件
sencha can't fire my label show event in controller
我遇到了一个问题,因为我无法在我的视图中触发我的控制器功能,因为它只是一个警报演示。
我的控制器:
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
viewlabel: {
show: 'viewlabelFn'
}
},
refs: {
viewlabel: 'label[id=datalabel]',
}
},
viewlabelFn: function(){
alert('painted');
}
});
我的看法:
Ext.define('ylp2p.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
'Ext.TitleBar',
'Ext.carousel.Carousel',
'ylp2p.store.datainterests',
],
config: {
fullscreen: true,
tabBarPosition: 'bottom',
scrollable: 'vertical',
items: [
{
title: '首页',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
layout: 'card',
items: [
{
docked: 'top',
xtype: 'titlebar',
title: 'ylp2p'
},
{
xtype: 'container',
layout: 'vbox',
items:[
{
xtype: 'carousel',
height: 300,
items: [
{
html: 'html1',
style: 'background-color:#5E99CC'
},
{
html: 'html2',
style: 'background-color: #759E60'
},
{
html: 'html3',
}
]
},//end carousel
{
xtype: 'label',
id: 'datalabel',
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1,
}//end label
]
}
]//end items
},
{
title: '融资',
iconCls: 'locate',
//xtype: 'makemoney'
},
{
title: '理财',
iconCls: 'action',
//xtype: 'money'
},
{
title: '账户',
iconCls: 'user',
//xtype: 'user'
},
{
title: '更多',
iconCls: 'more',
//xtype: 'more'
}
]
}
});
尝试
{
xtype: 'label',
itemId: 'datalabel',
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1,
}
和select这样
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
viewlabel: {
show: 'viewlabelFn'
}
},
refs: {
viewlabel: '#datalabel',
}
},
viewlabelFn: function(){
alert('painted');
},
launch: function() {
this.getViewlabel().show();
}
});
确保您已在 app.js 中添加控制器文件。试试下面的代码。
查看代码
xtype: 'label',
itemId: 'datalabel', // define item id here
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1
控制器代码。
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
'main #datalabel'{
show: 'viewlabelFn'
}
}
},
viewlabelFn: function(){
alert('painted');
}
});
我遇到了一个问题,因为我无法在我的视图中触发我的控制器功能,因为它只是一个警报演示。
我的控制器:
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
viewlabel: {
show: 'viewlabelFn'
}
},
refs: {
viewlabel: 'label[id=datalabel]',
}
},
viewlabelFn: function(){
alert('painted');
}
});
我的看法:
Ext.define('ylp2p.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
'Ext.TitleBar',
'Ext.carousel.Carousel',
'ylp2p.store.datainterests',
],
config: {
fullscreen: true,
tabBarPosition: 'bottom',
scrollable: 'vertical',
items: [
{
title: '首页',
iconCls: 'home',
styleHtmlContent: true,
scrollable: true,
layout: 'card',
items: [
{
docked: 'top',
xtype: 'titlebar',
title: 'ylp2p'
},
{
xtype: 'container',
layout: 'vbox',
items:[
{
xtype: 'carousel',
height: 300,
items: [
{
html: 'html1',
style: 'background-color:#5E99CC'
},
{
html: 'html2',
style: 'background-color: #759E60'
},
{
html: 'html3',
}
]
},//end carousel
{
xtype: 'label',
id: 'datalabel',
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1,
}//end label
]
}
]//end items
},
{
title: '融资',
iconCls: 'locate',
//xtype: 'makemoney'
},
{
title: '理财',
iconCls: 'action',
//xtype: 'money'
},
{
title: '账户',
iconCls: 'user',
//xtype: 'user'
},
{
title: '更多',
iconCls: 'more',
//xtype: 'more'
}
]
}
});
尝试
{
xtype: 'label',
itemId: 'datalabel',
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1,
}
和select这样
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
viewlabel: {
show: 'viewlabelFn'
}
},
refs: {
viewlabel: '#datalabel',
}
},
viewlabelFn: function(){
alert('painted');
},
launch: function() {
this.getViewlabel().show();
}
});
确保您已在 app.js 中添加控制器文件。试试下面的代码。
查看代码
xtype: 'label',
itemId: 'datalabel', // define item id here
//tpl: '{store.get("data")},{store.get("earn")}',
store: 'interestsdata',
//tpl: ['总投资:{data},盈利:{earn}'],
html: 'hello',
flex: 1
控制器代码。
Ext.define('ylp2p.controller.viewdata',{
extend: 'Ext.app.Controller',
config: {
control: {
'main #datalabel'{
show: 'viewlabelFn'
}
}
},
viewlabelFn: function(){
alert('painted');
}
});