视图命名空间

概述

视图命名空间,是视图隶属的、限定了视图ID唯一性的抽象空间。
视图的唯一性,由 视图命名空间 和 视图ID 两部分决定。同一命名空间下的视图ID不能相同,但不同命名空间下的视图ID可以相同。
默认情况下,开发者在创建视图时不需要指定命名空间,视图命名空间将默认为:default。当多个相同ID的视图需要共存时,开发者才需要设定不同的命名空间。

声明命名空间

视图命名空间的声明,通过在视图的布局骨架上添加 DOM 属性:data-view-namespace 完成。例如:
main.html
1
<!-- b2c-mall 命名空间下,ID为 home-page 的视图 -->
2
<section
3
data-view-id = "home-page"
4
data-view-namespace = "b2c-mall">
5
...
6
</section>
7
8
<!-- o2o-mall 命名空间下,ID为 home-page 的视图 -->
9
<section
10
data-view-id = "home-page"
11
data-view-namespace = "o2o-mall">
12
...
13
</section>
Copied!
在执行视图跳转时,如果目标视图设定有命名空间,开发者需要将其显式描述出来。如果其命名空间是默认的 default,则无需显示声明。
例如:
main.html
action.js
1
<!--
2
跳转至 order 命名空间下ID为 order-list 的视图。
3
4
1. data-view-rel 指令用于指定跳转目标
5
2. "@" 符号是 视图ID 与 视图命名空间 的分隔符
6
-->
7
<div class = "btn"
8
data-view-rel = "[email protected]"
9
>订单列表</div>
10
11
<!-- 跳转至 default 命名空间下ID为 profile 的视图。 -->
12
<div data-view-rel = "profile">个人中心</div>
Copied!
1
/* 跳转至 default 命名空间下的 profile 视图 */
2
View.navTo("profile");
3
4
/* 跳转至 order 命名空间下的 order-list 视图 */
5
View.navTo("order-list", "order");
6
Copied!
Last modified 2yr ago
Copy link