一、除了延時函數 setTimeout(() => { 你的代碼},0) 和 nextTick 外 克隆 然後更新虛擬DOM 無疑是個比較好的選擇
//用於克隆對象
clone: function(obj){
var o;
switch(typeof obj){
case 'undefined': break;
case 'string' : o = obj + '';break;
case 'number' : o = obj - 0;break;
case 'boolean' : o = obj;break;
case 'object' :
if(obj === null){
o = null;
}else{
if(obj instanceof Array){
o = [];
for(var i = 0, len = obj.length; i < len; i++){
o.push(this.clone(obj[i]));
}
}else{
o = {};
for(var k in obj){
o[k] = this.clone(obj[k]);
}
}
}
break;
default:
o = obj;break;
}
return o;
},
這是用於克隆的一個通用方法 ,然後利用
export default {
data(){
return{
modalform:{}
}
}
}
vm.$set(vm.$data,'modalform', 引入的變量.clone(this.modalform))
這樣做的目的只有一個 強行更新 虛擬DOM 中的數據,也就是 modalform
二 、獲取當前日期,並格式化
var getNow = function(){
var data = new Date();
var year = data.getFullYear();
var month = data.getMonth() + 1;
var date = data.getDate();
var hh = data.getHours();
var mm = data.getMinutes();
var ss = data.getSeconds();
var now = year + "-" + (month<10?0:'') + month + "-" + (date<10?0:'') + date +' '+(hh<10?0:'')+hh+':'+(mm<10?0:'')+mm+':'+(ss<10?0:'')+ss;
return now;
};
更新中...