今天遇到一个问题,当我给data数据初始化一个computed计算属性时,在页面上竟然没有显示,放代码
<template>
<div class="container">
<div>num1:{
{
num1}}</div>
<div>num2:{
{
num2}}</div>
<div>data中的数据{
{
sum}}</div>
</div>
</template>
<script>
export default {
data() {
return {
num1:2,
num2:10,
sum:this.result
};
},
computed:{
result(){
return this.num1+this.num2
}
}
};
</script>
console.log(this.data)一下,结果是undefined
查了一下资料,原来是跟Vue组件数据初始化顺序有关,我们可以看一下源码
new Vue
的执行顺序
往下找,可以找到在这个initMixin
函数里,定义了_init
的方法
function initMixin