javascript - Unter welchen Umständen wird der Lebenszyklus einer Komponente vor dem Destory ausgelöst?
天蓬老师
天蓬老师 2017-07-05 10:46:40
0
2
1218

Kann es beim Routing eines Sprungs ausgelöst werden? Ich habe festgestellt, dass die Funktion in beforeDestory nicht ausgelöst wurde, als ich einen Routensprung machte, aber es gab einen Code, der ausgeführt werden musste, bevor die Komponente zerstört wurde.
https://jsfiddle.net/44w37p34/ Ein Freund hat mir gerade eine Demo geschickt. Ich habe festgestellt, dass seine Vorher-Destory ausgelöst wurde, als die Route sprang, aber meines hat nie funktioniert

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(2)
漂亮男人

找到原因了,之前给router-view加了个keep-alive导致组件缓存了,所以不会触发beforeDestory和destoryed

習慣沉默

我试了一下,切换路由的时候能触发执行beforeDestroy方法,示例如下。

const Home = {
        template: `
      <p>
      <p class="section">Some section foo</p>
      <p class="section">Some section foo</p>
      <p class="section">Some section foo</p>
      <p class="section">Some section foo</p>
    </p>
  `,
        mounted() {
           console.log("Home mounted");
        },
        beforeDestroy() {
            console.log("Home destroy");
        }
    };

    const Test = {
        template: `
            <p>
              <p class="section">Some section test</p>
              <p class="section">Some section test</p>
              <p class="section">Some section test</p>
              <p class="section">Some section test</p>
            </p>
  `,
        mounted() {
            console.log("Test mounted");
        },
        beforeDestroy() {
            console.log("Test destroy");
        }
    };
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage