Vue.js 是一個流行的 JavaScript 框架,用于建立響應式的用戶界面。當我們在使用 Vue.js 的時候,有時候需要在代碼中獲取當前的 Vue 實例。這篇文章將介紹如何獲取當前 Vue 實例。
const app = new Vue({ el: '#app', methods: { printInstance() { console.log(this.$root); } } }); app.printInstance(); // 輸出結果 // VueComponent {title: "app", _uid: 0, _isVue: true, $options: {…}, _renderProxy: Proxy, …}
在上述代碼中,我們創建了一個 Vue 實例,它有一個名為 printInstance 的方法。在這個方法內,我們可以通過 this.$root 訪問到當前的 Vue 實例。此方法被調用時,輸出結果如上所示。
除了使用 this.$root 方法外,我們還可以使用 this.$options.parent 訪問到當前 Vue 實例的父級。雖然相對 this.$root 方法少用,但在某些特殊的場景,它也可以派上用場。
const child = { template: '<div>Child Component</div>', mounted() { console.log(this.$options.parent); } }; const app = new Vue({ el: '#app', components: { child } }); // 輸出結果 // VueComponent {title: "app", _uid: 0, _isVue: true, $options: {…}, _renderProxy: Proxy, …}
在上述代碼中,我們創建了一個名為 child 的組件,并在 Vue 實例中注冊。在這個組件內,我們在 mounted 鉤子函數中訪問 this.$options.parent 屬性,即可獲取到當前 Vue 實例的父級。此方法被調用時,輸出結果如上所示。