1. 程式人生 > 其它 >vue 高階api (extned)

vue 高階api (extned)

前言

  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")