<div class="progress alert round">
<span class="meter bar" :style="{width:proBar+'%',}" >{{proBar}}</span>
</div>
</div>
<script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js "></script>
<script src="https://cdn.bootcss.com/foundation/5.5.3/js/foundation.min.js "></script>
<script>
var app = new Vue({
el: '#app',
data: {
proBar: 0,
},
created(){
this.change();
},
methods: {
change: function() {
var clearInt = setInterval(function() {
app.proBar++;
console.log(app.prpBar);
if (app.proBar == 100) {
clearInterval(clearInt);
}
}, 20)
}
}
})
</script>
</body>
</html>
对比两段代码显然vue要方便许多,因为是双向绑定,不用来回操作dom,就很简单省心啦。
注意问题:刚开始没有实现loading效果,主要是因为用了mounted钩子函数来调用change方法(还是对生命周期理解的不到位)。实现loading效果我们需要在页面加载时自动调用change方法,所以我们应该在数据全部初始化前就执行这一操作。mounted时期已经全部完成初始化,所以便不会成功。










