Skip to content

Commit d4e6f1e

Browse files
cosin2077Jinjiang
authored andcommitted
#602 “假设“ 改为 “设定”. (#532)
* 将#602 “假设“ 改为 “设定”.因为这并不是一种假设,而是已经实现了一种设定。 将#602 “假设“ 改为 “设定”.因为这并不是一种假设,而是已经实现了的一种设定。 * Update components.md
1 parent 68fcca6 commit d4e6f1e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/v2/guide/components.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ new Vue({
599599

600600
> 2.3.0+
601601
602-
在一些情况下,我们可能会需要对一个 prop 进行双向绑定。事实上,这正是 Vue 1.x 中的 `.sync`修饰符所提供的功能。当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定的值。这很方便,但也会导致问题,因为它破坏了『单向数据流』的假设。由于子组件改变 prop 的代码和普通的状态改动代码毫无区别,当光看子组件的代码时,你完全不知道它何时悄悄地改变了父组件的状态。这在 debug 复杂结构的应用时会带来很高的维护成本。
602+
在一些情况下,我们可能会需要对一个 prop 进行双向绑定。事实上,这正是 Vue 1.x 中的 `.sync` 修饰符所提供的功能。当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定的值。这很方便,但也会导致问题,因为它破坏了单向数据流。由于子组件改变 prop 的代码和普通的状态改动代码毫无区别,当光看子组件的代码时,你完全不知道它何时悄悄地改变了父组件的状态。这在 debug 复杂结构的应用时会带来很高的维护成本。
603603

604604
上面所说的正是我们在 2.0 中移除 `.sync` 的理由。但是在 2.0 发布之后的实际应用中,我们发现 `.sync` 还是有其适用之处,比如在开发可复用的组件库时。我们需要做的只是**让子组件改变父组件状态的代码更容易被区分**
605605

0 commit comments

Comments
 (0)