Skip to content

Commit 88a7f14

Browse files
committed
when autoplay:true restart when startVal&endVal change
1 parent bf0de3e commit 88a7f14

File tree

2 files changed

+29
-6
lines changed

2 files changed

+29
-6
lines changed

demo/index.html

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,16 @@ <h1>Vue CountTo</h1>
2727
<div class="example-item">
2828
<h3> simple example</h3>
2929
<code>&lt;count-to :startVal=&#x27;0&#x27; :endVal=&#x27;2017&#x27; :duration=4000&gt;&lt;/count-to&gt;</code>
30-
<count-to ref='example1' class='example1' :start-val='0' :end-val='2017' :duration=4000></count-to>
31-
<div class='example-btn' @click='start1'>开始</div>
30+
<count-to ref='example1' class='example1' :start-val=startVal1 :end-val='endVal1' :duration=4000></count-to>
31+
<div class='example-btn' @click='start1'>start</div>
32+
<div class='example-btn' @click='changeExampleEndVal'>change end-val</div>
33+
<div class='example-btn' @click='incrementalUpdate'>incremental update</div>
3234
</div>
3335
<div class="example-item">
3436
<h3> count down example</h3>
3537
<code> &lt;count-to :startVal=&#x27;2017&#x27; :endVal=&#x27;0&#x27; :duration=8000&gt;&lt;/count-to&gt;</code>
3638
<count-to ref='example2' class='example2' :start-val='2017' :end-val=0 :duration=8000></count-to>
37-
<div class='example-btn' @click='start2'>开始</div>
39+
<div class='example-btn' @click='start2'>start</div>
3840
</div>
3941
<div class="example-item">
4042
<h3> custom example</h3>
@@ -45,8 +47,8 @@ <h3> custom example</h3>
4547
<label class="label" for="startValInput">startVal: <input type="number" v-model.number='setStartVal' name='startValInput' /></label>
4648
<label class="label" for="endValInput">endVal: <input type="number" v-model.number='setEndVal' name='endVaInput' /></label>
4749
<label class="label" for="durationInput">duration: <input type="number" v-model.number='setDuration' name='durationInput' /></label>
48-
<div class="startBtn example-btn" @click='start3'>开始</div>
49-
<div class="pause-resume-btn example-btn" @click='pauseResume'>暂停/恢复</div>
50+
<div class="startBtn example-btn" @click='start3'>start</div>
51+
<div class="pause-resume-btn example-btn" @click='pauseResume'>pause/resume</div>
5052
<br/>
5153
<label class="label" for="decimalsInput">decimals: <input type="number" v-model.number='setDecimals' name='decimalsInput' /></label>
5254
<label class="label" for="separatorInput">separator: <input v-model='setSeparator' name='separatorInput' /></label>
@@ -70,7 +72,9 @@ <h3> custom example</h3>
7072
setDecimals: 0,
7173
setSeparator: ',',
7274
setSuffix: ' rmb',
73-
setPrefix: '¥ '
75+
setPrefix: '¥ ',
76+
startVal1:0,
77+
endVal1:2017
7478
}
7579
},
7680
computed: {
@@ -117,6 +121,13 @@ <h3> custom example</h3>
117121
},
118122
},
119123
methods: {
124+
changeExampleEndVal(){
125+
this.endVal1=this.endVal1+1000
126+
},
127+
incrementalUpdate(){
128+
this.startVal1=this.endVal1
129+
this.endVal1=this.endVal1+1000
130+
},
120131
callback() {
121132
console.log('callback')
122133
},

src/vue-countTo.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ export default {
8585
return this.startVal > this.endVal
8686
}
8787
},
88+
watch: {
89+
startVal() {
90+
if (this.autoplay) {
91+
this.start();
92+
}
93+
},
94+
endVal() {
95+
if (this.autoplay) {
96+
this.start();
97+
}
98+
}
99+
},
88100
mounted() {
89101
if (this.autoplay) {
90102
this.start();

0 commit comments

Comments
 (0)