vue指令中插入和绑定有什么区别

Eas*_*ack 3 vue.js vuejs2

我从不使用插入指令,但我在其他指令中看到了它。

在 vue 的官方文档中,它说:

bind:仅在指令第一次绑定到元素时调用一次。您可以在此处进行一次性设置工作。

插入:当绑定元素已插入其父节点时调用(这仅保证父节点存在,不一定在文档中)。

我说不出区别。有什么用例吗?

Eas*_*ack 7

好的我明白了。医生说的完全正确。

bind: function (el) {
    console.log(el.parentNode)  // null
    console.log('bind')
},

inserted: function (el) {
    console.log(el.parentNode)  // <div id="app">...</div>
    console.log('inserted')
}
Run Code Online (Sandbox Code Playgroud)

以及 update 和 componentUpdated 的区别

update: function (el) {
    console.log(el.innerHTML)   // Hello, before updated
    console.log('update')
},
componentUpdated: function (el) {
    console.log(el.innerHTML)   // Hi, after updated
    console.log('componentUpdated')
}
Run Code Online (Sandbox Code Playgroud)

答案来自

https://imys.net/20161216/vue-custom-directive-hook.html