案例一:渲染之后执行一些函数
说明:有时候想在渲染view之后执行函数,或者说对渲染的view进行操作。
场景一:对view生成条形码,使用的是JsBarcode.all.min.js库生成条码,它的要求就是有一个这样的标签,然后执行一个api即可在这个标签的位置生成条码
// html代码
<svg v-bind:id="'code128_' + n"></svg>
// js代码
JsBarcode("#code128_0",row.sampleNumber);
// vue 代码
vuePrintData = new Vue({
el : "#vuePrindBox",
data : {
printCount : '0',
printData : row
},
computed : {
num : function() {
return parseInt(this.printCount)
}
},
watch : {
// 1、观察num的属性变化
num : function() {
// 2、下一帧执行这个函数 ,意味着num变化->渲染完成->执行生成条码
this.$nextTick(function() {
for (i = 0; i < this.num; i++) {
JsBarcode('#code128_' + (i + 1),
this.printData.sampleNumber);
}
});
}
}
});
效果: