Sencha touch 如何更改Sencha中控制器内部的标签值?
我在一个容器里有两个标签。单击某个按钮时,我想更改标签值。我尝试了很多方法。但这并没有改变 以下是我的查看代码:Sencha touch 如何更改Sencha中控制器内部的标签值?,sencha-touch,label,sencha-touch-2,Sencha Touch,Label,Sencha Touch 2,我在一个容器里有两个标签。单击某个按钮时,我想更改标签值。我尝试了很多方法。但这并没有改变 以下是我的查看代码: Ext.define('MortgageCalculator.view.CalculateScreen', { extend : 'Ext.Panel', config : { scrollable : true, items : [{ xtype : 'titlebar', do
Ext.define('MortgageCalculator.view.CalculateScreen', {
extend : 'Ext.Panel',
config : {
scrollable : true,
items : [{
xtype : 'titlebar',
docked : 'top',
ui : 'green',
title : 'MORTGAGE CALCULATOR'
}, {
xtype : 'container',
layout : {
type : 'vbox'
},
items : [{
xtype : 'button',
name : 'submitbtn',
text : 'Calculate Monthly',
ui : 'confirm',
width: 200,
height : 40,
margin : 'auto'
}, {
xtype : 'container',
id:'capandintsum',
layout : {
type : 'hbox'
},
items : [{
xtype : 'label',
layout : 'fit',
html : 'Capital & Interest',
flex : 1,
margin : '60 0 0 20'
}, {
xtype : 'label',
layout : 'fit',
name:'cap&int',
id : 'cap&int',
html : '0',
flex : 1,
margin : '60 0 0 20'
}]
},
{
xtype : 'container',
layout : {
type : 'hbox'
},
items : [{
xtype : 'label',
layout : 'fit',
html : 'Interest Only',
flex : 1,
margin : '20 0 0 20'
}, {
xtype : 'label',
layout : 'fit',
name:'intonly',
id : 'intonly',
html : '0',
flex : 1,
margin : '20 0 0 20'
}]
}]
}
});
对于控制器,我使用以下代码:
Ext.define('MortgageCalculator.controller.Calculate', {
extend : 'Ext.app.Controller',
config : {
refs : {
submitbtn : 'button[name=submitbtn]',
capandintlbl : '#intonly'
// capandintlbl : '#cap&int',
// onlyintlbl : '#intonly'
},
control : {
submitbtn : {
tap : 'onSubmitButtonTap'
},
}
},
onSubmitButtonTap : function(button, e, options) {
this.getCapandintlbl.setHtml('hello, it is changed'); }
})
请帮助..仅为标签设置值,可以使用标签中描述的setText方法 看
最后,我可以这样做:
var me = this;
var labelfield = me.getCapandintlbl();
labelfield.setHtml('it is changing');
感谢Rachel..给出错误::uncaughttypeerror:Object函数(){a.push.apply(a,参数);return c.apply(b | | this,a)}没有方法“setText”。我会做更多的研究,你使用的是什么版本?实际上,因为它不是顶级容器的子容器,所以无法获取引用。请再次尝试getCapandintlbl.labelEl.setHTML([你的hmtl内容])。错误:未捕获类型错误:无法调用UndefinedGetPandintlbl的方法“setHTML”是一个函数。因此,使用这个.getCapandintlbl()来访问capandintlbl。
var me = this;
var labelfield = me.getCapandintlbl();
labelfield.setHtml('it is changing');