定義vue元件
全域性元件定義的三種方式
第一種方式:
1.先呼叫 vue.extend() 得到元件的建構函式:
// 建立全域性元件的第一種方式: component
const com1 = vue.
extend
()
2.通過 vue.component(『元件的名稱』, 元件的建構函式) 來註冊全域性元件:
// 使用 vue.component 向全域性註冊乙個元件
// vue.component('元件的名稱', 元件的建構函式)
vue.
component
('mycom1'
, com1)
3.把註冊好的全域性元件名稱,以標籤形式引入到頁面中即可:
<
!--如何引入乙個全域性的vue元件呢?直接把元件的名稱,以標籤的形式,放到頁面上就好了!--
>
<
/mycom1>
第二種方式:
1.直接使用 vue.component(『元件名稱』, )
const com2obj =
// 定義全域性的元件
// vue.component 的第二個引數,既接收 乙個 元件的建構函式, 同時,也接受 乙個物件
vue.
component
('mycom2'
, com2obj)
第三種方式:
1.先使用 template 標籤定義乙個模板的**解構:
<
!-- 定義乙個 template 標籤元素 --
>
<
!-- 使用 vue 提供的 template 標籤,可以定義元件的ui模板解構 --
>
"tmpl"
>
哈哈,這是在外界定義的元件ui解構<
/h3>
我是來搗亂的<
/h3>
<
/div>
<
/template>
2.使用 vue.component 註冊元件:
// 這是定義的全域性元件
vue.
component
('mycom3'
,)
元件中展示資料和響應事件
vue.
component
('mycom',}
, methods:}}
)
為什麼元件中的data屬性必須定義為乙個方法並返回乙個物件?
如果返回的不是乙個物件,那麼做計數器案例時所有的元件都會增加
官方解釋:
元件會被用來建立多個例項,如果data是個純粹的物件,那麼所以例項將會引用同乙個資料物件。所以每個元件都返回了乙個新的初始變數,這樣元件間不會互相干擾。
父元件向子元件傳值
父元件向子元件傳遞普通資料
傳遞資料使用v-bind(:), 傳遞的資料需要使用props註冊才能使用
1.把要傳遞給子元件的資料,作為 自定義屬性,通過 v-bind: 繫結到子元件身上:
"parentmsg"
>
<
/com1>
2.在子元件中,不能直接使用父元件傳遞過來的資料,需要先使用props 陣列來接收一下:
props:
['msg123'
]
3.注意:在接收父元件傳遞過來的 props的時候,接收的名稱,一定要和父元件傳遞過來的自定義屬性,名稱保持一致!
父元件向子元件傳遞方法
1.把要傳遞給子元件的方法,作為 自定義屬性,通過 v-on: 繫結到子元件身上:
"show"
>
<
/com1>
2.呼叫父元件傳來的方法
components:},
methods:}}
}
總結:
傳遞資料使用v-bind(:), 傳遞的資料需要使用props註冊才能使用
傳遞方法使用v-on(@),傳遞的方法需要使用$emit來喚醒觸發方法
無論是傳遞資料還是方法,都是需要使用v-bind或者v-on 賦值乙個變數供子元件呼叫,然後變數指向父元件中的屬性或者方法
在vue元件中data和props的區別
data 在元件中,要被定義成function並返回乙個物件
props在元件中,要被定義成陣列,其中,陣列的值都是字串名,表示父元件傳遞過來的資料;
props的資料,不要直接拿來修改,如果想要修改,必須在 data 上重新定義乙個 屬性,然後把屬性的值 從 this.props 拿過來;
data 上的資料,都是元件自己私有的, data 上的資料,都是可讀可寫的props 資料,都是外界傳遞過來的資料,props中的資料只能讀取,不能重新寫入
三 vue元件相關知識點
1 父vue中component 即子vue 引入 2 從父vue中向component 即子vue 內傳值 3 在父vue中呼叫子vue中的方法 父vue的html中 將ids繫結在子元件 的string上 父js 子vue中 這個結構看著有點亂,其實裡面包含了三個知識點 1 父vue中compo...
Vue中元件相關知識點
一 元件知識點 1.定義 何為元件,簡單來說,元件就是一組html標籤的集合,有點類似於模組,不過模組是基於不同的業務邏輯來劃分的,而元件則是基於頁面不同區域來劃分的。元件中允許有多個標籤,但只允許乙個根標籤。元件的產生同樣也增強了 的復用性。2.建立方式 建立元件例項可以有多種方式,這裡主要講解其...
Vue 元件傳參知識點
很多時候用 emit攜帶引數傳出事件,並且又需要在父元件中使用自定義引數時,這時我們就無法接受到子元件傳出的引數了。找到了兩種方法可以同時新增自定義引數的方法。子元件傳出單個引數時 子元件傳參 this emit test this param 父元件接收 test test event,userd...