Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 同时使用控制器和视图_Sapui5 - Fatal编程技术网

Sapui5 同时使用控制器和视图

Sapui5 同时使用控制器和视图,sapui5,Sapui5,我正在编写我的第一个SAP应用程序,在阅读了一些教程之后,我明白如果我想让视图做任何事情,我需要一个控制器 当我添加controllerName=“./controller/login”(控制器名为'login.controller.js')时,它不起作用,我已经尝试过这种方法的变体 这些教程让我能够复制使用控制器名称的代码,但它们没有教我如何为自己的控制器代码编写字符串 我该怎么做 到目前为止,控制器代码如下所示: sap.ui.define([ "sap/ui/core/m

我正在编写我的第一个SAP应用程序,在阅读了一些教程之后,我明白如果我想让视图做任何事情,我需要一个控制器

当我添加controllerName=“./controller/login”(控制器名为'login.controller.js')时,它不起作用,我已经尝试过这种方法的变体

这些教程让我能够复制使用控制器名称的代码,但它们没有教我如何为自己的控制器代码编写字符串

我该怎么做

到目前为止,控制器代码如下所示:

sap.ui.define([
    "sap/ui/core/mvc/Controller"
], function(Controller) {
    "use strict";
    return Controller.extend("controller.Login", {
        // controller logic goes here
    });
});
视图代码如下所示:

<mvc:View
    controllerName="controller.Login"
    xmlns="sap.m"
    xmlns:form="sap.ui.layout.form"
    xmlns:mvc="sap.ui.core.mvc">
    <Panel headerText="{/panelHeaderText}" class="sapUiResponsiveMargin" width="auto">
        <form:SimpleForm editable="true" layout="ColumnLayout">
            <Label text="User Name"/>
            <Input value="{/firstName}" valueLiveUpdate="true" width="200px"/>
            <Label text="Password"/>
            <Input value="{/lastName}" valueLiveUpdate="true" width="200px"/>
            <Button text="login" press=".onVisitHomePage"/>
        </form:SimpleForm>
    </Panel>
</mvc:View>


我要将.onvisitompage函数添加到控制器中,但首先我想让它正常工作。

就像Julian Schmuckli已经说过的那样,您必须在controller.login前面加上名称空间,检查初始化sap ui核心的index.html(见下文)


在这里,您必须使用代替“your.namespace”的字符串,并将其与controller.login组合到your.namespace.controller.login


您必须在视图和控制器文件中执行此操作。

您正在执行哪个教程?我没有执行任何教程,我已经完成了一些教程,现在我正在尝试创建自己的应用程序。在使用controller.Login之前,可能您必须提供一个正常的命名空间。相反,尝试将名称空间更改为com.yourapp.controller.Login。
<script src="resources/sap-ui-core.js" id="sap-ui-bootstrap"
data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m"
data-sap-ui-bindingSyntax="complex" data-sap-ui-compatVersion="edge"
data-sap-ui-preload="async" data-sap-ui-async="true"
data-sap-ui-frameOptions="trusted" data-sap-ui-appCacheBuster="./"
data-sap-ui-resourceroots='{
  "your.namespace": "./",
        "sap.ui.demo.mock": "mockdata"
    }'></script>