我是SAPUI5的新用户,我试图通过我的控制器在我的视图中将值设置为标签。
View1.controller.js
onInit: function()
{
var currentTime = this.whatsTheTime();
var currentDate = this.whatsTheDate();
this.getView().byId("timeDisplay").setValue(currentTime);
this.getView().byId("dateDisplay").setValue(currentDate);
this.repeat(function() {
currentTime = this.whatsTheTime();
currentDate = this.whatsTheDate();
this.getView().byId("timeDisplay").setText(currentTime);
this.getView().byId("dateDisplay").setText(currentDate);
}, 1000);
view.xml用
<mvc:View controllerName="testApp.controller.View1" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m">
<Label id = "timeDisplay" design="Bold" />
<Label id = "dateDisplay" design="Bold"/>
<Button
text = "Click me"
press = "doNothing" />
</mvc:View>
基本上,在控制器中,whatsTheTime和whatsTheDate都返回值,我试图将这些值设置到标签中。这是一件非常简单的事情,但我错过了一些东西,因为在我的控制台中
this.getView(...).byId(...).setValue is not a function
编辑:另外,有没有什么特别的方法可以在我的onInit函数中每1秒运行一次我的重复函数?因为它说重复不是一个功能。重复功能的重点是每1秒更新一次值。
为什么这会让我误解这个错误?
答案 0 :(得分:2)
Label没有Value属性,因此没有setValue函数(在错误文本中报告),但它有“text”属性,所以你应该这样做:
this.getView(...).byId(...).setText( ... )