<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./lib/Vue.js"></script> </head> <body> <div id="app"> <connter></connter> <hr> <connter></connter> <hr> <connter></connter> </div> <template id="tmp"> <div> <input type="button" value="+1" @click="TT"> <!-- 组件中的data的使用方法与实例中的完全一样,但是组件的data必须是一个Function,并且返回值 必须是内部中的一个对象,否则如果多次使用一个同一个组件,那么组件中的事件就会互相干扰 --> <h1>{{count}}</h1> </div> </template> </body> <script> var dt = { count: 0 } Vue.component('connter', { template: '#tmp', data() { //return dt return { count: 0 } }, methods: { TT() { this.count++ } } }) var vm = new Vue({ el: '#app', data: { }, methods: { } }) </script> </html>