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