vue2项目封装的表单组件传递数据的时候到底要不要传递object类型?

我们项目的做法是图方便,直接通过对象传递整个表单数据,然后双向绑定对象里的属性,虽然这么做看似没有影响vue单向数据流的规范,因为没直接修改对象的地址,但是里面的属性是在不断变化。会有什么问题吗,各位有什么比较好的方案。

阅读 1k
2 个回答

比如是list列表 --> detail组件 ,这样绑定,在detail修改属性值会影响list的列表数据。
可以传object,但要深拷贝一下

// 推荐写一下默认配置
// 至少要让下一个接手的人知道参数的用处
// 我遇到基线不写注释的人很多时候是想死的
// 你永远也猜不到他们的命名对应啥
porps: {
    opts: {
        type: Object,
        default: () => ({
            rows: 3,         // 行
            cols: 4,          // 列
         })
    }
}

// 如果组件嵌套复杂建议用 inject 和 provide 
// 能稳定拿到内容,不需要数据的复杂传递
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题