<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>