今天遇見了一個事情就是值用自動加載的方式傳入vue變量裏面去但頁面未顯示
在created函數這個是創建vue實例時自動執行此函數相信很多人就是直接用this.變量名 的方式來傳入值的,我測試了不行,最簡單的就是在vue實例名加變量名纔可行得通,實例名.變量名 ,只能通過這種方式來用,而且注意而且不能上去就用因爲javascript的特性就是誰加載快就執行誰的所以得加個延時不加的話會顯示未定義此變量名,下面是兩個實例你們可以看下.
//這是正常的寫法我試過不行值傳過去了就是未渲染
const text01 = new Vue({
el:"#text01",
data(){
return{
datas:"",
}
},
created(){
this.datas = "1";
}
});
//這是我想到的方法一個缺陷就是newvue時直接執行created方法datas的變量還未來得及定義就報錯,我首先想到的就是給created方法加個延時,具體情況因電腦而異
const text01 = new Vue({
el:"#text01",
data(){
return{
datas:"",
}
},
created(){
text01.datas = "1";
}
});
//這是改進型的不是太複雜,就加載個50毫秒的延時,你們可以試下我是成功了
const text01 = new Vue({
el:"#text01",
data(){
return{
datas:"",
}
},
created(){
setTimeout(function(){
this.datas = "1";
},50)
}
});