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
类的控件都可以放在App
的pages
中。因为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 中的元数据是啥?的主要内容,如果未能解决你的问题,请参考以下文章