'use strict';
Vue.directive('timer', {
params: ['increase', 'interval'],
twoWay: true,
bind() {
this.flag = true
var increase = parseInt(this.params.increase)
var interval = parseInt(this.params.interval)
var self = this
function timeout() {
setTimeout(() => {
var num = self.vm.$get(self.expression) || 0
self.set(num + increase)
if (self.flag)
timeout()
}, interval)
}
timeout()
},
unbind() {
this.flag = false
}
})
// bootstrap the demo
var demo = new Vue({
el: '# demo'
})
关键字:vue.js, vue, timer, demo