今天遇见了一个事情就是值用自动加载的方式传入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)
}
});