vue props 对象或数组问题

子组件接受父组件传递的 props 的值,是不能直接修改的,因为vue的数据流是从上到下 传递,我们可以用计算属性 return一下。

props: {
  title: {
    type: String
  }
},
computed: { 
  copyTitle() {
    return this.title
  }
}

这样就可以修改了,而且不影响父级,这样只适合 基本数据类型,而引用数据类型,如果修改的话,还是影响到父级。因为引用数据类型的原因,props 传递的是一个指向。如果修改不影响父级,需要对父级props传递的值深拷贝。

props: {
  list: {
    type: Array
  }
},
computed: { 
  copyList() {
    return JSON.parse(JSON.stringify(this.list))
  }
}

或者在传递的时候

<child :list="[...list]"></child> // 一维数组
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 组件(Component)是Vue.js最核心的功能,也是整个架构设计最精彩的地方,当然也是最难掌握的。...
    六个周阅读 10,968评论 0 32
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 12,123评论 0 25
  • 深入JSX date:20170412笔记原文其实JSX是React.createElement(componen...
    gaoer1938阅读 12,482评论 2 35
  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 12,722评论 1 33
  • 我总是在自己聚成一块的影子里听见风呼啸而过的低吟 那影子里似乎藏满了故事 却住进了太多的缺席 它们不慌不忙的走进我...
    l草莓l阅读 1,441评论 0 4

友情链接更多精彩内容