vue组件传值 prop传递对象或数组


一种方法:

需要吧子组件接收的的参数变为本地数据。利用 JSON.stringify 和 JSON.parse() 来进行转化。(感觉不太好)

第二种方法

原因则是 异步更新值的问题 

就是说开始的时候有个默认值,这个默认值会被异步数据改变,比如说这个异步数据返回的object,如果你用props的方式去传递这个数据,其实第一次传递的空值,第二次传递的是更新后的值,所以就出现报未找到的错误.
解决方法:(watch,监听这个值)
既然说第一次是空值,它会这样处理''.items[0],那么我们是不是可以在html判断这个是不是空(或者在computed或者是watch来判断是否为默认值)
watch监听基本类型属性:watch对象中直接可以写函数
watch监听引用类型属性:watch中跟对象形式的配置项
 watch: {
    heartData: {
      handler: function(heartData) {
        this.$nextTick(() => {
          this.showmyChart()
        })
      },
      deep: true,
      immediate: true
    }
  },
选项:deep 为了发现对象内部值的变化,可以在选项参数中指定  deep: true。注意监听数组的变更不需要这么做。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM