如何将 $count 放入磁贴中

How to get $count into a tile

我是一名 ABAP 开发人员,正试图迈出 SAPUI5/Fiori 的第一步。

所以我非常简单的任务是创建一个 fiori 应用程序,其中包含一个磁贴来显示 EDIDC 记录的数量。

View1.controller.js:

sap.ui.define([
    "sap/ui/core/mvc/Controller"
], function (Controller) {
    "use strict";

    return Controller.extend("QuickStartApplication.controller.View1", {
        
    onGetValue: function ( ) {
        var oTileValue = this.getView().byId("tile1");
        this.getModel().read("/EDIDCSet/$count", {
            success: $.proxy(function (oEvent, oResponse) {
                // var count = Number(oResponse.body);
                var count = "1337";
                oTileValue.setValue(count);
            }, this)
        });
    }
    });
});

View1.view.xml:

<mvc:View xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
    controllerName="QuickStartApplication.controller.View1">
    <App id="idAppControl">
        <pages>
            <Page xmlns="sap.m" id="pageId" title="TileTest" floatingFooter="true">
                <content>
                    <Button xmlns="sap.m" text="Button" id="button0" press=".onGetValue"/>
                    <GenericTile class="sapUiTinyMarginBegin sapUiTinyMarginTop tileLayout" header="Country-Specific Profit Margin" subheader="Expenses"
                        press="press" id="tile1">
                        <TileContent unit="EUR" footer="Current Quarter">
                            <NumericContent scale="M" value="1000" valueColor="Error" indicator="Up" withMargin="false"/>
                        </TileContent>
                    </GenericTile>
                </content>
            </Page>
        </pages>
    </App>
</mvc:View>

如您所见,我什至无法传递我硬编码的值“1337”。

我的第一个错误是定位磁贴而不是文件的数字内容。所以首先,我将 ID 赋予了数字内容:

<NumericContent scale="M" value="" valueColor="Error" indicator="Up" withMargin="false" id="num1"/>

然后,我调整了行,访问对象:

var oTileValue = this.getView().byId("num1");

我学到的最后一件事是,模型连接到视图。所以为了访问它,我将行更改为:

​this.getView().getModel().read("/EDIDCSet/$count", {

现在我可以调用我的函数 onGetValue 并且它正在运行。