Vue怎样根据条件判断是否传props

<customeComponet
    :propA="needPropA ? dataA : null">
</customeComponet>

···

data () {
    return {
        dataA: {},
        needPropA: false
    }
}

现在的问题是 当不满足needPropA的时候,直接不传propA,除了写两次customComponent然后用v-if控制这种方法还有没有其他处理的办法?

阅读 11.5k
5 个回答

在vue里不传和传undefined是等价的,子组件定义的props父组件不传也会被枚举到(值为undefined,刚刚测试)

楼上说的对,这个问题的核心不在于 是否传递prop,而在于 某个prop不传时如何处理,楼主已经贴出来的代码已经基本实现了,对于子组件因为 prop 有值的时候传递需要处理,这个逻辑是必须的,所以代码是一定指定了接受相应 prop 并做处理,只需要再添加当值为 undefined/null 的兼容处理逻辑就行。

难道不是在传之前判断么

给子组件的 propA写个默认值比较好吧

可以弄个计算属性放那吧

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