何时使用 vue.js 中的 beforeMount 生命周期方法?

Sim*_*iel 7 vue.js vuejs2

我尝试想出一个何时使用每个 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)