SAPUI5 this.getView(...)。byId(...)。setValue不是函数

时间:2016-08-24 16:01:19

标签: sapui5

我是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秒更新一次值。

为什么这会让我误解这个错误?

1 个答案:

答案 0 :(得分:2)

Label没有Value属性,因此没有setValue函数(在错误文本中报告),但它有“text”属性,所以你应该这样做:

this.getView(...).byId(...).setText( ... )