<body> <script src='https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js'></script> <div id='myApp'> <button ref="myBtn">{{name}}{{count1}}{{count2}}</button> </div> <script> new Vue({ el: '#myApp', data: { name: '张三', // count1: 0, // count2: 2 }, methods: { add(){ console.log(++this.name) } }, created() { // 如果是和dom相关的操作,不要在created执行, 因为此时视图还没渲染 this.count1 = 100 // 渲染前打点定义的变量可以被渲染出来 // 一个字段不在data中定义,直接调用赋值, 一般用作全局变量 }, mounted() { // console.log(this.count) this.count2 = 200; // 渲染后打点定义的变量显示不出来 // dom相关操作一定要在视图渲染之后mounted中执行 // 1, 使用原生dom操作查找元素绑定事件 var btn = document.getElementsByTagName("button")[0] btn.onclick = this.add // 2, 使用vue中的ref属性查找, 给dom元素添加ref属性,然后通过this.$refs查找 console.log(this.$refs) this.$refs.myBtn.onclick = this.add } }) </script></body>