@@ -456,7 +456,11 @@ type: api
456
456
})
457
457
```
458
458
459
- <p class =" tip " >注意,__不应该对 `data` 属性使用箭头函数__ (例如`data: () => { return { a: this.myProp }}`)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,`this.myProp` 将是 undefined。</p >
459
+ 注意,如果你为 ` data ` 属性使用了箭头函数,则 ` this ` 不会指向这个组件的实例,不过你仍然可以将其实例作为函数的第一个参数来访问。
460
+
461
+ ``` js
462
+ data : vm => ({ a: vm .myProp })
463
+ ```
460
464
461
465
### props
462
466
@@ -528,7 +532,13 @@ type: api
528
532
529
533
计算属性将被混入到 Vue 实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。
530
534
531
- <p class =" tip " >注意,__不应该使用箭头函数来定义计算属性函数__ (例如 `aDouble: () => this.a * 2`)。理由是箭头函数绑定了父级作用域的上下文,所以 `this` 将不会按照期望指向 Vue 实例,`this.a` 将是 undefined。</p >
535
+ 注意如果你为一个计算属性使用了箭头函数,则 ` this ` 不会指向这个组件的实例,不过你仍然可以将其实例作为函数的第一个参数来访问。
536
+
537
+ ``` js
538
+ computed: {
539
+ aDouble : vm => vm .a * 2
540
+ }
541
+ ```
532
542
533
543
计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。注意,如果某个依赖 (比如非响应式属性) 在该实例范畴之外,则计算属性是__ 不会__ 被更新的。
534
544
@@ -1393,7 +1403,7 @@ type: api
1393
1403
1394
1404
- **详细**:
1395
1405
1396
- 一个对象,持有已注册过 ` ref` 的所有子组件 。
1406
+ 一个对象,持有注册过 [ ` ref` 特性](#ref) 的所有 DOM 元素和组件实例 。
1397
1407
1398
1408
- **参考**:
1399
1409
- [子组件引用](../guide/components.html#子组件索引)
@@ -1419,7 +1429,7 @@ type: api
1419
1429
1420
1430
- **详细**:
1421
1431
1422
- 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (` class ` 和 ` style` 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (` class ` 和 ` style` 除外),并且可以通过 ` v- bind= " $attrs" ` 传入内部组件——在创建更高层次的组件时非常有用 。
1432
+ 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (` class ` 和 ` style` 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (` class ` 和 ` style` 除外),并且可以通过 ` v- bind= " $attrs" ` 传入内部组件——在创建透明的包裹组件时非常有用 。
1423
1433
1424
1434
### vm.$listeners
1425
1435
@@ -1852,21 +1862,18 @@ type: api
1852
1862
1853
1863
绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。
1854
1864
1855
- 从 `2.4.0` 开始,`v-on` 同样支持不带参数绑定一个事件/监听器键值对的对象。注意当使用对象语法时,是不支持任何修饰器的。
1856
-
1857
- 用在普通元素上时,只能监听 **原生 DOM 事件**。用在自定义元素组件上时,也可以监听子组件触发的**自定义事件**。
1865
+ 用在普通元素上时,只能监听[**原生 DOM 事件**](https://developer.mozilla.org/zh-CN/docs/Web/Events)。用在自定义元素组件上时,也可以监听子组件触发的**自定义事件**。
1858
1866
1859
1867
在监听原生 DOM 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 `$event` 属性:`v-on:click="handle(' ok' , $event)"`。
1860
1868
1869
+ 从 `2.4.0` 开始,`v-on` 同样支持不带参数绑定一个事件/监听器键值对的对象。注意当使用对象语法时,是不支持任何修饰器的。
1870
+
1861
1871
- **示例**:
1862
1872
1863
1873
```html
1864
1874
<!-- 方法处理器 -->
1865
1875
<button v-on:click="doThis"></button>
1866
1876
1867
- <!-- 对象语法 (2.4.0+) -->
1868
- <button v-on="{ mousedown: doThis, mouseup: doThat }"></button>
1869
-
1870
1877
<!-- 内联语句 -->
1871
1878
<button v-on:click="doThat(' hello' , $event)"></button>
1872
1879
@@ -1893,6 +1900,9 @@ type: api
1893
1900
1894
1901
<!-- 点击回调只会触发一次 -->
1895
1902
<button v-on:click.once="doThis"></button>
1903
+
1904
+ <!-- 对象语法 (2.4.0+) -->
1905
+ <button v-on="{ mousedown: doThis, mouseup: doThat }"></button>
1896
1906
```
1897
1907
1898
1908
在子组件上监听自定义事件 (当子组件触发“my-event”时将调用事件处理器):
@@ -2113,11 +2123,11 @@ type: api
2113
2123
`ref` 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 `$refs` 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例:
2114
2124
2115
2125
``` html
2116
- <!-- vm.$refs.p will be the DOM node -->
2126
+ <!-- ` vm.$refs.p` will be the DOM node -->
2117
2127
<p ref="p">hello</p>
2118
2128
2119
- <!-- vm.$refs.child will be the child comp instance -->
2120
- <child-comp ref="child"></child-comp >
2129
+ <!-- ` vm.$refs.child` will be the child component instance -->
2130
+ <child-component ref="child"></child-component >
2121
2131
```
2122
2132
2123
2133
当 `v-for` 用于元素或组件的时候,引用信息将是包含 DOM 节点或组件实例的数组。
0 commit comments