定义:

组件是可复用的 Vue 实例,且带有一个名字

可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用

1. 定义一个新组件。命名为 counter

格式:

1.组件名为"conter";

2.data 数据属性:写函数;

3.template 模板:写组件的内容(元素和触发的事件)


 

  1. ​Vue.component("counter",{ //1.组件名为"conter"; 2.data 写函数; 3.template 写组件的内容(元素和触发的事件)​
  2. ​data:function(){​
  3. ​return {count:0}​
  4. ​},​

  5. ​//template 是模板的意思,在 html 里面是一个可以同时控制多个子元素的父元素。在这里定义了组件的内容​
  6. ​template:'<button v-on:click="count++">点击计算点击次数:{{count}}次</button>'​
  7. ​})​

数据属性data 必须是一个返回值的函数

data: function(){

          return { count:0 }

          } 

vue 组件 Vue.component 用法_数据属性

 2.在创建的 Vue 根实例中,把这个组件作为自定义元素来使用组件

这里div 元素(faCounter)就是vue 实例的根元素。

组件counter 被作为自定义元素,嵌套在根元素 faCounter 里面


 

  1. ​<div id="faCounter"> <!--faCounter 就是组件元素counter的父元素,要把新建的vue实例绑定在这个父元素-->​
  2. ​<counter></counter> <!--counter 就是新建的组件,也就是自定义的元素-->​
  3. ​</div>​

 

  1. ​new Vue({​
  2. ​     el:"#faCounter"​
  3. ​    })​

网页效果:

vue 组件 Vue.component 用法_自定义_02

vue 组件 Vue.component 用法_html_03

完整代码:


 

  1. ​<div id="faCounter"> <!--faCounter 就是组件元素counter的父元素,要把新建的vue实例绑定在这个父元素-->​
  2. ​<counter></counter> <!--counter 就是新建的组件,也就是自定义的元素-->​
  3. ​</div>​

  4. ​<script> ​
  5. ​//定义一个新的vue 组件。组件就是自定义的元素​
  6. ​Vue.component("counter",{ //1.组件名为"conter"; 2.data 写函数; 3.template 写组件的内容(元素和触发的事件)​
  7. ​data:function(){​
  8. ​return {count:0}​
  9. ​},​

  10. ​//template 是模板的意思,在 html 里面是一个可以同时控制多个子元素的父元素。在这里定义了组件的内容​
  11. ​template:'<button v-on:click="count++">点击计算点击次数:{{count}}次</button>'​
  12. ​})​

  13. ​//定义一个新的vue 实例,用el 绑定组件元素(counter)的父元素 faCounter 元素上​
  14. ​new Vue({​
  15. ​el:"#faCounter"​
  16. ​})​

  17. ​</script>​

 vue 组件 Vue.component 用法_数据属性_04


vue 组件 Vue.component 用法_html_05

vue 组件 Vue.component 用法_数据属性_06