vue 高階api (extned)
阿新 • • 發佈:2022-04-17
前言
vue.extend是vue的一個全域性的api,它的作用是建立一個vue的子例。其實和vue.compoent一樣,都是建立一個元件。但是區別是vue.component建立的元件,是掛載在vue例項內,而vue例項掛載在dom節點#app。所以通過vue.component建立的元件都存在於#app內。而vue.extend建立的元件可以向vue例項一樣,通過$mount自由的選擇掛載位置。相當於一個獨立的元件
使用場景
1.假定我想定義一個全域性的提示toast元件,並且不想讓她掛載在#app之下。
2.vue.extend(options)引數中接受接受一個template屬性,可以動態的定義元件。這個在vue.compoent中其實也可以實現
如何使用
值得一提的是$mount不是將元件掛載在dom節點下,而是替換指定的節點
//建立一個子例建構函式 const vueC= Vue.extend({ template:"<div>測試值</div>", ...//一些component選項 }) //new子例例項,並通過$mount將其掛載在指定的節點上 new vueC().$mount("#app2")