返回导航不起作用

时间:2017-09-05 07:14:19

标签: sapui5

在我的应用程序中,后退导航无法从第二个视图(plant.view.xml)运行到第一个视图(input.view.xml)。你能检查一下,让我知道是什么问题吗?我可以从第一个视图向前导航到第二个视图但不能向后导航。

plant.view.xml

<mvc:View
    controllerName="stock.controller.plant"
    xmlns="sap.m"
    xmlns:viz="sap.viz.ui5.controls"
    xmlns:l="sap.ui.layout"
    xmlns:mvc="sap.ui.core.mvc">
    <MessagePage
        showNavButton="true"
        navButtonPress="onNavBack"/>
        <Table id="idProductsTable"
            inset="false"
            items="{
                path: '/ProductCollection',
                sorter: {
                    path: 'Name'
                }
            }">
            <headerToolbar>
                <Toolbar>
                    <Title text="Products" level="H2" />
                </Toolbar>
            </headerToolbar>
            <columns>
                <Column width="12em">
                    <Text text="Product" />
                </Column>
                <Column
                    minScreenWidth="Tablet"
                    demandPopin="true">
                    <Text text="Supplier" />
                </Column>
                <Column
                    minScreenWidth="Tablet"
                    demandPopin="true"
                    hAlign="End">
                    <Text text="Dimensions" />
                </Column>
                <Column
                    minScreenWidth="Tablet"
                    demandPopin="true"
                    hAlign="Center">
                    <Text text="Weight" />
                </Column>
                <Column hAlign="End">
                    <Text text="Price" />
                </Column>
            </columns>
            <items>
                <ColumnListItem>
                    <ObjectIdentifier
                        title="{Name}"
                        text="{ProductId}" />
                    <Text text="{SupplierName}" />
                    <Text text="{Width} x {Depth} x {Height} {DimUnit}" />
                    <ObjectNumber
                        number="{WeightMeasure}"
                        unit="{WeightUnit}"
                        state="{
                            parts: [
                                {path: 'WeightMeasure'},
                                {path: 'WeightUnit'}
                            ],
                            formatter: 'stock.Formatter.weightState'
                        }" />
                    <ObjectNumber
                        number="{
                            parts: [{
                                path: 'Price'
                            },{
                                path: 'CurrencyCode'
                            }],
                            type: 'sap.ui.model.type.Currency',
                            formatOptions: {
                                showMeasure: false
                            }
                        }"
                        unit="{CurrencyCode}" />
                </ColumnListItem>
            </items>
        </Table>
    </MessagePage>
</mvc:View>

plant.controller.js

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "jquery.sap.global",
    "stock/Formatter",
    "sap/ui/core/routing/History",
    "sap/ui/model/json/JSONModel"
], function(Controller, jQuery, Formatter, History, JSONModel) {
    "use strict";

    var TableController =  Controller.extend("stock.controller.plant", {
        onInit: function () {
            // set explored app's demo model on this sample
            var oModel = new JSONModel(jQuery.sap.getModulePath("sap.ui.demo.mock", "/products.json"));
            this.getView().setModel(oModel);
        },

        getRouter : function () {
            return sap.ui.core.UIComponent.getRouterFor(this);
        },


        onNavBack: function () {
            var oHistory, sPreviousHash;
            oHistory = History.getInstance();
            sPreviousHash = oHistory.getPreviousHash();
            if (sPreviousHash !== undefined) {
                window.history.go(-1);
            } else {
                this.getRouter().navTo("input", {}, true);
            }
        }
    });
    return TableController;
});

的manifest.json

{
    "_version": "1.1.0",
    "sap.app": {
        "_version": "1.1.0",
        "id": "stock",
        "type": "application",
        "i18n": "i18n/i18n.properties",
        "title": "{{appTitle}}",
        "description": "{{appDescription}}",
        "applicationVersion": {
            "version": "1.0.0"
        }
    },
    "sap.ui": {
        "_version": "1.1.0",
        "technology": "UI5",
        "deviceTypes": {
            "desktop": true,
            "tablet": true,
            "phone": true
        },
        "supportedThemes": [
            "sap_belize"
        ]
    },
    "sap.ui5": {
        "_version": "1.1.0",
        "rootView": "stock.view.input",
        "dependencies": {
            "minUI5Version": "1.30",
            "libs": {
                "sap.m": {}
            }
        },
        "models": {
            "i18n": {
                "type": "sap.ui.model.resource.ResourceModel",
                "settings": {
                    "bundleName": "stock.i18n.i18n"
                }
            }
        },
        "routing": {
            "config": {
                "routerClass": "sap.m.routing.Router",
                "viewType": "XML",
                "viewPath": "stock.view",
                "controlId": "app",
                "controlAggregation": "pages",
                "transition": "slide",
                "bypassed": {
                    "target": [
                        "notFound"
                    ]
                },
                "async": true
            },
            "routes": [{
                "pattern": "",
                "name": "input",
                "target": "input"
            }, {
                "pattern": "plant",
                "name": "plant",
                "target": "plant"
            }],
            "targets": {
                "input": {
                    "viewName": "input",
                    "viewId": "App",
                    "viewLevel" : 1
                },
                "plant": {
                    "viewName": "plant",
                    "viewId": "plant",
                    "viewLevel": 2,
                    "title": "{i18n>materialDetail}"
                }
            }
        }
    }
}

0 个答案:

没有答案