【...】小程序扩展运算符 ... 说明

小程序扩展运算符 ...  ,用来将一个对象展开。

以下示例:

1 <template is="objectCombine" data="{{...obj1, ...obj2, e: 5}}"></template>
 1 Page({
 2   data: {
 3     obj1: {
 4       a: 1,
 5       b: 2
 6     },
 7     obj2: {
 8       c: 3,
 9       d: 4
10     }
11   }
12 })

等同于:<template is="objectCombine" data="{{a: 1, b: 2, c: 3,d: 4, e: 5}}"></template>

 

 

对象的 key 和 value 相同,也可以间接地表达:

1 <template is="objectCombine" data="{{foo, bar}}"></template>
1 Page({
2   data: {
3     foo: 'my-foo',
4     bar: 'my-bar'
5   }
6 })

等同于: <template is="objectCombine" data="{{foo: 'my-foo', bar: 'my-bar'}}"></template>

 

 

存在变量名相同的情况,后边的会覆盖前面:

1 <template is="objectCombine" data="{{...obj1, ...obj2, a: 5, c: 6}}"></template>
 1 Page({
 2   data: {
 3     obj1: {
 4       a: 1,
 5       b: 2
 6     },
 7     obj2: {
 8       b: 3,
 9       c: 4
10     },
11     a: 5
12   }
13 })

等同于:<template is="objectCombine" data="{{a:5, b:3,c: 6}}"></template>

posted @ 2018-10-25 09:45  1024记忆  阅读(1539)  评论(0编辑  收藏  举报