这个问题很简单,但也很复杂。复杂是因为你得了解vue的生命周期才能明白。
vue的data里面的变量之所以未定义是因为vue在给这个data里面的变量赋值的时候,是先创建dom,然后再赋值,
如果你在代码里直接调用data里的变量的值,那会显示未定义,因为dom未渲染完成。你可以用beforeCreat贺create这两个钩子去打印比方说data里定义了a为666,接着你在console里面可以看到,两个都是未定义。
解决方法:在onload方法里给data的变量赋值即可。
注:一般来说,我们都是在data里面初始化变量,然后通过onload去判断dom已经渲染完成后再去赋值给变量。