Javascript 为什么我的组件不调用它的init方法?

Javascript 为什么我的组件不调用它的init方法?,javascript,sapui5,Javascript,Sapui5,我有一个UIComponent,它依赖于一个匿名组件 主要组件元数据: jQuery.sap.declare("MYAPP.Component"); sap.ui.core.UIComponent.extend("MYAPP.Component", { metadata: { dependencies: { libs: [], components: [ "MYAPP.Component2" ] }, etc 该应用程序

我有一个UIComponent,它依赖于一个匿名组件

主要组件元数据:

jQuery.sap.declare("MYAPP.Component");

sap.ui.core.UIComponent.extend("MYAPP.Component", {
  metadata: {
    dependencies: {
      libs: [],
      components: [
        "MYAPP.Component2"
      ]
    }, etc
该应用程序表明它已经到达了faceless组件,因为如果我故意犯了一些语法错误,我会在加载网页时收到错误消息。我还可以从sap.ui.core.Component.extend()代码外部获取一个console.log(“test”)打印出来

也许我的资源声明有问题?
index.html的部分内容:

<script id='sap-ui-bootstrap' type='text/javascript'
    src='resources/sap-ui-core.js'
    data-sap-ui-theme='sap_bluecrystal'
    data-sap-ui-libs='sap.m, sap.me'
    data-sap-ui-xx-bindingSyntax="complex"
    data-sap-ui-xx-supportedLanguages="en"
    data-sap-ui-resourceroots='{"MYAPP":"./"}'></script>

<script>
  sap.ui.localResources("view");
  sap.ui.localResources("utils");
  sap.ui.localResources("control");
  sap.ui.localResources("Component2");

在SCN()的一位用户的帮助下,我找到的答案是,父组件的元数据将调用一个函数来加载新组件,而不实例化它。因此,您还必须显式地创建组件

我在父组件的init()函数中添加了一个简单的sap.ui.component

sap.ui.component({ name: "MYAPP.Component2" });
现在,新组件在父组件之前加载并实例化。希望这篇文章能帮助其他使用匿名组件的人,因为我自己在研究这个问题时发现的文档很少

MYAPP
  /Component2               //faceless component folder
    Component.js
  /view                     //views and controllers folder
  Component.js              //main component
  index.html
sap.ui.component({ name: "MYAPP.Component2" });