组件获取错误this.getView不是一个函数

阿德南

我正在阅读sapui5演练教程,并设法到达第9步,它教您如何在应用程序中使用Component.js文件。

现在,在使用Component.js之前,应用程序中的所有内容都可以正常工作。但是,一旦我尝试使用组件,就会出现此错误:

Uncaught TypeError: this.getView is not a function

请参考UIComponent.js第6行。即使我的组件文件仅称为Component.js。我也得到:

GET http://localhost:58736/InvoicesApp/invoicesapp/Component-preload.js 404 (Not Found)

但是我不确定他们是否有关系

这是我的index.html

<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>

        <script src="resources/sap-ui-core.js"
                id="sap-ui-bootstrap"
                data-sap-ui-libs="sap.m"
                data-sap-ui-theme="sap_bluecrystal"
                data-sap-ui-bindingSyntax="complex"
                data-sap-ui-compatVersion="edge"
                data-sap-ui-preload="async"
                >
        </script>
        <!-- only load the mobile lib "sap.m" and the "sap_bluecrystal" theme -->

        <script>
                sap.ui.localResources("invoicesapp");
                sap.ui.getCore().attachInit(function () {
                     new sap.ui.core.ComponentContainer({
                           name : "invoicesapp"
                        }).placeAt("content");

                 });
        </script>

    </head>
    <body class="sapUiBody" id="content"/>
</html>

我的Component.js

sap.ui.define([
   "sap/ui/core/UIComponent",
   "sap/ui/model/json/JSONModel",
   "sap/ui/model/resource/ResourceModel"
], function (UIComponent,  JSONModel, ResourceModel) {
   "use strict";
   return UIComponent.extend("invoicesapp.Component", {
       metadata: {
           rootView:"invoicesapp.view.App"
       },

      init : function () {
         // call the init function of the parent
         UIComponent.prototype.init.apply(this, arguments);
         
      // set data model on view
         var oData = {
            recipient : {
               name : "World"
            }
         };
         var oModel = new JSONModel(oData);
         this.getView().setModel(oModel);
     // set i18n model on view
         var i18nModel = new ResourceModel({
            bundleName: "invoicesapp.i18n.i18n"
         });
         this.getView().setModel(i18nModel, "i18n");
    }
   });
});

我的控制器

sap.ui.define([
   "sap/ui/core/mvc/Controller",
   "sap/m/MessageToast",
   "sap/ui/model/json/JSONModel",
   "sap/ui/model/resource/ResourceModel"
], function (Controller, MessageToast, JSONModel, ResourceModel) {
   "use strict";
   return Controller.extend("invoicesapp.controller.App", {
    
      onShowHello : function () {
          
         // read msg from i18n model
         var oBundle = this.getView().getModel("i18n").getResourceBundle();
         var sRecipient = this.getView().getModel().getProperty("/recipient/name");
         var sMsg = oBundle.getText("helloMsg", [sRecipient]);
         // show message
         MessageToast.show(sMsg);
      }
   });
});
纳比

在该组件中,您无法调用this.getView(),因为没有getView(),这是位于https://openui5beta.hana.ondemand.com/#docs/api/symbols/sap.ui.core的api文档。 Component.html

而是直接在组件本身上设置模型。换句话说,只要打电话

this.setModel(oModel);

this.setModel(i18nModel, "i18n");

顺便说一句:在人行道中,操作方法相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取/设置不是一个函数?

来自分类Dev

获取 ExpressionChangedAfterItHasBeenCheckedError 错误我从另一个组件更新了一个组件的属性

来自分类Dev

未捕获的TypeError:_this.props.data.map不是一个函数,映射错误以渲染组件

来自分类Dev

使用hasAttribute()获取TypeError:hasAttribute不是一个函数

来自分类Dev

JavaScript错误:$(...)。observe不是一个函数

来自分类Dev

速度不是一个函数,显示流星错误

来自分类Dev

反应错误更改 this.setState 不是一个函数

来自分类Dev

获取错误未捕获的TypeError:document.querySelectorAll(...)。addEventListener不是一个函数

来自分类Dev

错误:预期 onClick 侦听器是一个函数,而不是使用 reactjs 获取类型对象

来自分类Dev

如何在反应中设置条件函数以影响一个组件而不是更大的组件

来自分类Dev

如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

来自分类Dev

为特定组件创建意图时,何时“ this”不是构造函数的第一个参数?

来自分类Dev

react-chartjs返回一个类型错误:(中间值)[chartType]不是一个函数

来自分类Dev

在AS3上遇到此错误。TypeError:错误#1006:value不是一个函数。

来自分类Dev

c#从泛型函数中获取一个空列表,而不是null

来自分类Dev

将 json 对象放入 mongoose 模型而不获取 .save 不是一个函数

来自分类Dev

为什么我得到错误:http.get不是一个函数

来自分类Dev

错误:[ng:areq]参数'ProjectsController'不是一个函数,未定义

来自分类Dev

错误:[ng:areq]参数'Controller'不是一个函数,未定义

来自分类Dev

错误:[ng:areq]参数'ControllerName'不是一个函数,未定义

来自分类Dev

错误:[ng:areq]参数'GreetingController'不是一个函数,未定义

来自分类Dev

d3错误,来自plotly:TypeError:e.getAttribute不是一个函数

来自分类Dev

AngularJS / Jade错误:参数'MyController'不是一个函数,未定义(MEAN)

来自分类Dev

错误:[ng:areq]参数'simpleController'不是一个函数,未定义

来自分类Dev

FullCalendar中的错误:date.getFullYear不是一个函数

来自分类Dev

从构造方法调用方法:错误:未捕获的TypeError:未定义不是一个函数

来自分类Dev

AngularJS-错误:[ng:areq]参数'CustomersController'不是一个函数,未定义

来自分类Dev

配置注释错误:参数'fn'不是一个函数,得到了字符串

来自分类Dev

MVC项目中的jQuery错误:Datepicker不是一个函数

Related 相关文章

  1. 1

    获取/设置不是一个函数?

  2. 2

    获取 ExpressionChangedAfterItHasBeenCheckedError 错误我从另一个组件更新了一个组件的属性

  3. 3

    未捕获的TypeError:_this.props.data.map不是一个函数,映射错误以渲染组件

  4. 4

    使用hasAttribute()获取TypeError:hasAttribute不是一个函数

  5. 5

    JavaScript错误:$(...)。observe不是一个函数

  6. 6

    速度不是一个函数,显示流星错误

  7. 7

    反应错误更改 this.setState 不是一个函数

  8. 8

    获取错误未捕获的TypeError:document.querySelectorAll(...)。addEventListener不是一个函数

  9. 9

    错误:预期 onClick 侦听器是一个函数,而不是使用 reactjs 获取类型对象

  10. 10

    如何在反应中设置条件函数以影响一个组件而不是更大的组件

  11. 11

    如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

  12. 12

    为特定组件创建意图时,何时“ this”不是构造函数的第一个参数?

  13. 13

    react-chartjs返回一个类型错误:(中间值)[chartType]不是一个函数

  14. 14

    在AS3上遇到此错误。TypeError:错误#1006:value不是一个函数。

  15. 15

    c#从泛型函数中获取一个空列表,而不是null

  16. 16

    将 json 对象放入 mongoose 模型而不获取 .save 不是一个函数

  17. 17

    为什么我得到错误:http.get不是一个函数

  18. 18

    错误:[ng:areq]参数'ProjectsController'不是一个函数,未定义

  19. 19

    错误:[ng:areq]参数'Controller'不是一个函数,未定义

  20. 20

    错误:[ng:areq]参数'ControllerName'不是一个函数,未定义

  21. 21

    错误:[ng:areq]参数'GreetingController'不是一个函数,未定义

  22. 22

    d3错误,来自plotly:TypeError:e.getAttribute不是一个函数

  23. 23

    AngularJS / Jade错误:参数'MyController'不是一个函数,未定义(MEAN)

  24. 24

    错误:[ng:areq]参数'simpleController'不是一个函数,未定义

  25. 25

    FullCalendar中的错误:date.getFullYear不是一个函数

  26. 26

    从构造方法调用方法:错误:未捕获的TypeError:未定义不是一个函数

  27. 27

    AngularJS-错误:[ng:areq]参数'CustomersController'不是一个函数,未定义

  28. 28

    配置注释错误:参数'fn'不是一个函数,得到了字符串

  29. 29

    MVC项目中的jQuery错误:Datepicker不是一个函数

热门标签

归档