1.简介
组件可以扩展 HTML 元素,封装可重用的代码。
组件系统让我们可以用独立可复用的小组件来构建大型应用.
2.创建局部组件
注册->配置->使用(只能在父组件中使用)
使用方法
1)注册:
var Child={
template:'<h1>子组件</h1>'
}
2)配置组件名
components:{
'test':Child
// 组件名:注册变量名
}
3)使用
<test></test>
例:
<div id="app">
<runoob></runoob>
</div>
<script>
var Child = {
template: '<h1>自定义组件!</h1>'
}
// 创建根实例
new Vue({
el: '#app',
components: {
// <runoob> 将只在父模板可用
'runoob': Child
}
})
</script>
3.创建全局组件
语法: Vue.component(tagName, options);
使用方法:
1)注册
Vue.component('all',{
template:'<h1>全局组件</h1>'
})
2)使用
<all></all>
4.Prop
prop 是子组件用来接受父组件传递过来的数据的一个自定义属性。
1)props注册
Vue.component('Proptest',{
props:['message'],
template:'<h1>{{message}}</h1>',
})
2)使用
1)静态message="Proptest"
<Proptest message="Proptest"></Proptest>
2)动态:message="Proptest"
<Proptest :message="Proptest"></Proptest>
动态prop
类似于用 v-bind 绑定 HTML 特性到一个表达式,也可以用 v-bind 动态绑定 props 的值到父组件的数据中。每当父组件的数据变化时,该变化也会传导给子组件