@windwolf
2017-09-28T11:46:45.000000Z
字数 1190
阅读 325
Sailing
EntityPath一个从当前上下文实体出发, 指向某个或某组字段的路径说明.
EntityPath有两大应用场景.
1. 作用在实体对象时, 用来访问具体的某个或某组字段, 数组, 对象. 主要用于脚本中的对象访问;
2. 作用在实体元数据时, 用来指向元数据中的某个位置. 主要用于UI和字段的绑定;
以下分这两种应用场景来说明使用方法
也就是说, 实体路径一定代表着某个值, 这个值可以是基本类型, 对象和数组; 其中数组也可能是多级flatten而来.
属性名A.属性名B: 首先将上下文切换到属性名A指向的属性背后的实体, 具体来说:
然后在切换后的上下文中对属性名B求值;
也就是说, 实体元数据路径包含了两层含义:
1. 指向的属性位置(空字符串除外).
2. 指向的属性位置背后对应的类型, 只有三种可能性: Field, Element, Entity.
由上可知, 对象路径和元数据路径的区别有:
- 对象路径代表值; 元数据路径代表属性(或者空路径代表的Entity, Element);
- 对待数组时, 对象路径可以指明数组中的某个元素, 也可以指明元素中更深的路径的flatten;
而元数据路径只能指定children实体中的路径;