如何在JavaScript中编写Vue .sync

Jer*_*oen 1 javascript synchronization vue.js vuejs2

我将代码从模板文件更改为渲染功能。现在,我有了这个HTML。

:open.sync="state"
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何将其翻译成javascript。有谁知道如何将其写入createElement函数。

先感谢您

acd*_*ior 8

记住

:open.sync="state"
Run Code Online (Sandbox Code Playgroud)

基本上是语法糖

:open="state" @update:open="state = $event"
Run Code Online (Sandbox Code Playgroud)

然后,render函数中的等效项将是:

createElement('child', {
  props: {                                   // :open="state"
    "open": this.state
  },
  on: {                                      // @update:open="state = $event"
    "update:open": ($event) => {
      this.state = $event;
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

演示:

:open.sync="state"
Run Code Online (Sandbox Code Playgroud)
:open="state" @update:open="state = $event"
Run Code Online (Sandbox Code Playgroud)