本人新手, 买了梁灏大神的vue.js,里面的一个小例子没太看懂.是关于this的.希望大神们解答下.
完整代码在body中, 为什么要用 var _this = this, 这个this不就是指向的 vue 吗,代码中 //声明一个变量指向 Vue 实例this,保证作用域一致,是什么意思呢? 我尝试了下, 如果没写 var _this = this 的话,直接写成下面这也的话,
mounted: function () {
this.timer = setInterval(function () {
this.data = new Date()
},1000)
},
这样写的话,时间将不会刷新. 请问这是为什么呢.
<body>
<div id="app">
{{data}}
</div>
<script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data () {
return {
data: new Date(),
}
},
mounted: function () {
var _this = this //声明一个变量指向 Vue 实例this,保证作用域一致
this.timer = setInterval(function () {
_this.data = new Date()
},1000)
},
beforeDestroy: function () {
if (this.timer) {
clearInterval(this.timer)
}
}
})
</script>
</body>
侃侃无极
holdtom
相关分类