Component.js 中的元数据是啥?

Posted

技术标签:

【中文标题】Component.js 中的元数据是啥?【英文标题】:What is metadata in Component.js?Component.js 中的元数据是什么? 【发布时间】:2016-06-01 06:44:47 【问题描述】:

我正在使用导航和路由概念创建应用程序,但无法理解需要在 Component.js 中指定的元数据

下面是什么意思:-

"controlId": "app",
"controlAggregation": "pages",

当我检查文档 Component.js 时,它被称为 -

targetParent: "myViewId",
targetControl: "app",
targetAggregation: "pages",

有人可以解释上述两者之间的区别吗?它的确切含义会有所帮助吗?

【问题讨论】:

【参考方案1】:

下面以XML视图代码为例,详细说明元数据配置。

<core:View xmlns:core="sap.ui.core" xmlns="sap.m" controllerName="Demo.view.Main" displayBlock="true" >
    <App id="app">
    </App>
</core:View>

App 控件是 UI5 移动应用程序的根元素。它具有pages 聚合,因为它从NavContainer 扩展而来。

targetControl: "app",
targetAggregation: "pages"

targetControl 指定了用于显示页面的控件 ID。在上面的 XML 中,App 控件的 ID 为“app”。 因此,您的所有视图都将放在App 控件的pages 聚合中。

现在,您可能想知道如何将视图放置在 pages 聚合中。 如果您查看pages 聚合中允许的控件类型,则为Control。任何扩展Control 类的控件都可以放在Apppages 中。因为View也是Control,所以加入pages聚合是有效的。

所以,应用程序中的所有视图都放在App

"targetParent": "myViewId"

targetParent 只不过是放置App 控件的视图。

关于上面和这个的区别

"controlId": "app",
"controlAggregation": "pages"

在较新版本的 SAPUI5 中,我们在 manifest.json 文件而不是 Component.js 文件中指定配置。所以,你会发现他们的这个配置。 它们是相同的,只是名称不同。

【讨论】:

【参考方案2】:

以下是导航的配置参数

routes :- routes 参数定义了一个路由配置数组。 config :- config 参数定义路由配置的默认值。 view :- view 参数包含在第一次匹配路由时创建的视图的名称。要将视图放置在控件中,请使用 targetAggregation 和 targetControl。视图只创建一次。 targetParent :- target parent 参数定义了 targetControl 参数的 parent 的 ID。 targetControl :- 视图被放入容器控件,例如移动应用程序的外壳控件或 NavContainer,或任何其他容器。 targetControl 参数包含此控件的 ID。 targetAggregation :- 目标应用程序参数包含包含视图的目标控件的聚合名称。例如,NavContainer 有一个名为 Pages 的聚合,而 shell 容器有 Content。 subroutes :- subroutes 参数包含一个路由数组,可以包含完整的路由配置。添加到子路由的路由本身可能有子路由。 callback :- callback 参数是一个可选函数,在路由匹配后执行。

【讨论】:

但是 controlId 和 controlAggregation 是什么?你解释的那个和这个有什么区别? 甚至我也在搜索 controlId 和 controlAggregation。我认为component.js中没有任何方法

以上是关于Component.js 中的元数据是啥?的主要内容,如果未能解决你的问题,请参考以下文章

我的元组中的那些小“u”是啥? (python 2.7)[重复]

Python 中的元类是啥?

Python 中的元类是啥?

Python 中的元类是啥?

Python 中的元类是啥?

Python 中的元类是啥?