vue2.0props 传值问题

新手上路,请多包涵

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写的方法为何没有成功

阅读 5.2k
1 个回答
新手上路,请多包涵

我知道原因了 我理解错了vue官方文档的意思了。
api写的意思是

只能让data中的msg获得prop的初始值

也就说我这里this.initialCounter的初始值,然后父层中的initialCounter刚开始是空的,是ajax获取到的,所以我console.log(this.counter,this.initialCounter)是this.initialCounter的初始值所以为空值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题