我尝试想出一个何时使用每个 Vue.js 生命周期钩子的例子。因为beforeMount()
我想不出任何用例。在研究时,我还阅读了:
很可能我们永远不需要使用这个钩子。
当我想使用这个生命周期钩子时,有人可以提供一个例子吗?
zer*_*298 10
我能想到的最佳用例来自使用 Symfony/Twig 直接将数据注入 Vue 应用程序。在挂载发生之前,您仍然可以在被 Vue 替换之前看到实际的、未转换的 Element。您可以访问的一个特定部分是数据属性。在下面的例子中,data-fizz
如果我们在到达mounted
.
const app = new Vue({
el: "#app",
data() {
return {
foo: "bar"
};
},
template: "<div>{{foo}}</div>",
beforeMount() {
console.log(this.$el); // <div id="app" data-fizz="buzz"></div>
console.log(this.$el.dataset.fizz); // buzz
},
mounted() {
console.log(this.$el); // <div>bar</div>
console.log(this.$el.dataset.fizz); // undefined
}
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app" data-fizz="buzz"></div>
Run Code Online (Sandbox Code Playgroud)