我是NativeScript的新手,我需要能够更改标签的文本。我很困惑如何做到这一点并需要帮助。我怎样才能做到这一点?提前谢谢!
答案 0 :(得分:7)
第一种方式:
您可以为要获取的标签设置id
,并使用.js
在控制器文件(getViewById
)中引用它:
在page.xml中:
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="onLoaded">
<Label id="myLabel" text="" />
</Page>
在page.js中:
function onLoaded(args) {
var page = args.object;
var myLabel = page.getViewById("myLabel");
myLabel.text = "Hello World";
}
exports.onLoaded = onLoaded
第二种方式:
将上下文(Observable对象)绑定到page.xml,并通过该上下文的属性之一设置label文本。通过这种方式,当您更改属性值时,标签将自行更新文本:
在page.xml中:
<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="onLoaded">
<Label text="{{ myText }}" />
</Page>
在page.js中:
var Observable = require("data/observable").Observable;
function onLoaded(args) {
var page = args.object;
var context = new Observable({
myText: "Hello World"
})
page.bindingContext = context;
//Change label's text
context.set("myText", "Goodbye World");
}
exports.onLoaded = onLoaded;