VUE2.0中prop 是单向绑定的,子组件获取的prop中的数据如果需要修改看api提供了两种方法
1.定义一个局部变量,并用 prop 的值初始化它:
props: ['initialCounter'],
data: function () {
return { counter: this.initialCounter }
}
2.定义一个计算属性,处理 prop 的值并返回。
props: ['size'],
computed: {
normalizedSize: function () {
return this.size.trim().toLowerCase()
}
}
但实际我使用发现了第一种方法貌似并不起作用,我mounted的时候console.log(this.counter,this.initialCounter)的值都是空的,并且我页面中渲染{{counter}}也是空的。不知道这是什么情况。counter为空可以理解,但是console.log( this.initialCounter )也为空就很难理解了。
当然尝试用emit是成功的,只是不知道官方api写的方法为何没有成功
我知道原因了 我理解错了vue官方文档的意思了。
api写的意思是
也就说我这里this.initialCounter的初始值,然后父层中的initialCounter刚开始是空的,是ajax获取到的,所以我console.log(this.counter,this.initialCounter)是this.initialCounter的初始值所以为空值。