【问题标题】:Can I validate that a prop has a particular shape?我可以验证道具是否具有特定形状?
【发布时间】:2016-05-26 18:53:14
【问题描述】:

在 React 中,我可以给出以下propTypes

user: PropTypes.shape({ username: PropTypes.string.isRequired, email: PropTypes.string.isRequired })

这将验证传递的 user 属性是否包含 usernameemail 类型为 String 的属性。

有没有办法在 Vue 中为普通对象做类似的事情?也就是说,不需要构造函数来创建对象,例如new User().

【问题讨论】:

    标签: javascript vue.js


    【解决方案1】:

    在您的组件prop 属性中,声明user 类型为Object 的属性

    props: {
      user: {
        type: Object,
        default: {}
      }
    }
    

    那么你的组件模板应该有这样的东西

    <my-component 
      :user="{ 
        username: 'Chris', 
        email: 'something@email.com' 
      }"
    ></my-component>
    

    【讨论】:

    • 不过,这并没有提供 OP 要求的那种验证。 Cue 不提供。虽然您可以向道具添加验证功能,但验证留给开发人员,可能使用第三方库。
    • 是的。回答后才明白。恕我直言,这是一个实用功能,不应该由像 Vue 这样的框架处理。
    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    相关资源
    最近更新 更多