在Vue.js中,Vue本身是一個constructor弃理。
Vue.extend() 是一個繼承于方法的 class,參數(shù)是一個包含組件選項的對象。它的目的是創(chuàng)建一個Vue的子類并且返回相應(yīng)的 constructor擎勘。
而Vue.component()實際上是一個類似于Vue.directive() 和 Vue.filter()的注冊方法,它的目的是給指定的一個constructor一個String類型的ID颖榜,
之后Vue.js可以把它用作模板棚饵,實際上當(dāng)你直接傳遞選項給Vue.component()的時候,它會在背后調(diào)用Vue.extend()掩完。
Vue.js支持兩種不同的API模型:一種是基于類的噪漾,命令式的,Backbone 類型的API且蓬;另一種是基于標(biāo)記語言的欣硼,聲明式的,Web組件類型的API缅疟。
如果還是困惑的話分别,可以想象你是怎么創(chuàng)建通過new Image()或者 <img>標(biāo)簽創(chuàng)建 image元素的就知道了。
這兩種方法都對指定的類型很有用存淫,Vue.js提供這兩者只是為了更好的靈活性耘斩。