我是Titanium的新手,我正在尝试使用以下代码将存储在我的Titanium属性中的变量显示到视图页面中:
var display = Ti.UI.createLabel({
text : storedVariable,
color : 'black',
font : {fontSize:12},
height : 15,
width : 250,
top : '10%',
left : '10%',
textAlign : 'center'
});
我遇到的问题是我在另一个页面中更改storedVarible
,但只有在我重新启动应用时才会在显示中更改。
我需要在变更后立即更新变量。我搜索了Titanium页面和堆栈交换,但找不到任何答案。
任何帮助都将不胜感激。
答案 0 :(得分:0)
显然,storedVariable
在其创建时被传递给对象/实例:也就是说,它的值仅在您创建UI Label实例display
时使用。因此,如果您在创建display.text
之后只给storedVariable
一个新值,display
就不会实时更改。
你在做什么与
类似var b = 10;
var a = b;
b = 5;
即使您将5分配给a
, b
仍然是10。
您需要更改storedVariable
的值,而不是更改display.text
的值。
答案 1 :(得分:0)
这是因为Ti.UI.createLabel()
只被调用一次。要更新文本值,您可以创建一个新函数来重置标签的文本属性:
function updateLabelText(newText){
display.text = newText;
}
然后每次storedVariable
更改时,您都可以致电updateLabelText(storedVariable);