<div id="app">
<input type="button" value="开始" @click='start'>
<input type="button" value="停止" @click='stop'>
<h1 v-text='msg'></h1>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
msg:'-=-=-=-=_+_+_+_+_-=-=-=-=-=_+_+_+_+_+_',
interval: null
},
methods:{
start: function(){
this.interval = setInterval(() => {
this.msg = this.msg.substring(1) + this.msg.substring(0,1)
}, 200);
},
stop: function(){
clearInterval(this.interval)
}
}
});
</script>
注意:
setInterval
设置定时器时,用的箭头函数,这样可以保持原有this
的指向。
定时器id在data中定义,这样start和stop函数都能访问到。