// 下面是建立乙個新的構造器,元件構造器
const hello = vue.
extend()
// my-hello元件註冊,第二個引數傳入的是擴充套件的構造器
vue.
component
('my-hello'
, hello)
// my-world元件註冊,第二個引數傳入的是選項物件
vue.
component
('my-world'
,)
vue.extend(options)
是乙個基礎vue
構造器,使用基礎vue
構造器,建立乙個「子類」。引數是乙個包含元件選項的物件,data 選項是特例,需要注意 : 在vue.extend()
中它必須是函式。
用template
標籤即可,用字面量形式定義:
>
>
hello
>
div>
"hello"
>
>
>
1ul>
>
2ul>
>
3ul>
div>
template
>
src=
"js/vue.js"
>
script
>
>
vue.
component
('hello',)
newvue()
script
>
lang
="en"
>
>
charset
="utf-8"
>
>
templatetitle
>
head
>
>
>
>
hello-component
>
div>
"hello"
>
>
你好div
>
template
>
src=
"js/vue.js"
>
script
>
>
const hello = vue.
extend()
newvue(}
)script
>
body
>
html
>
注意,如果你為data
屬性使用了箭頭函式,則this
不會指向這個元件的例項,不過你仍然可以將其實例作為函式的第乙個引數來訪問。
data: vm =>
()
注意點:
1.元件名的書寫,在js中用駝峰書寫,在dom模板中用連字元,即寫成標籤的時候。
VUE註冊元件
在註冊乙個元件的時候,我們始終需要給它乙個名字。比如在全域性註冊的時候我們已經看到了 vue.component my component name 該元件名就是 vue.component 的第乙個引數。你給予元件的名字可能依賴於你打算拿它來做什麼。當直接在 dom 中使用乙個元件 而不是在字串模...
vue動態註冊元件
vue的架構思想,其實就是想按元件化開發,提公升前端的模組復用性,因此在開發過程中,元件的巢狀是很正常的需求。例如以下需求 在index.vue頁面想呼叫元件a,a的頁面有兩種樣式,分別為b,和c,想在index.vue呼叫兩個a元件,並且a元件包含有b和c樣式。那麼在開發的時候,我習慣把b和c的樣...
vue中全域性註冊元件
1在main.js中全域性註冊公用元件,多個頁面都用到的元件就不用引入多次。import myplugin from components common index.js vue.use myplugin 全域性元件2 在公共元件中需要新建乙個index.js檔案進行註冊處理。import load...