【问题标题】:Can a Vue Boolean prop be true by its presence and false by its absence?Vue Boolean prop 的存在是否为真,不存在时是否为假?
【发布时间】:2018-08-18 21:39:50
【问题描述】:

在我的 Vue 组件中,我有一个名为“obj”的布尔属性,定义如下:

obj: { Type:Boolean, default: false}

我可以像这样将它设置为true

<my-component :obj="true"></my-component>

但是,我希望能够将其设置为 true,如下所示:

<my-component obj></my-component>

我希望道具的存在意味着true,而它的缺失意味着false。有没有办法在 Vue 组件中定义一个以这种方式工作的道具?

【问题讨论】:

  • 第二个例子应该像你说的那样工作,对吧?你有没有尝试过?我无法在移动自动取款机上查看
  • @kingdaro 当我简单地使用道具名称时,它的值在我的组件中是一个空字符串。
  • 你能显示你的组件的来源吗?另外,在你的 props 定义中,它应该是小写的type,而不是 Type。除非那是一个错字
  • @kingdaro 你是对的。类型中的大写 T 把它弄乱了,没有把它变成布尔值。谢谢。

标签: vue.js vuejs2 vue-component


【解决方案1】:

在任何情况下,这都是布尔道具的行为。您只需将道具定义为:

{
  props: {
    fast: Boolean
  }
  ...
}

默认为false。当您在以下模板中完全指定属性时,它被设置为true

<my-foo fast/>  <!-- fast is true -->

demo

【讨论】:

  • 你是对的。我在“Type”中有一个大写的 T,这把它搞砸了。谢谢。
猜你喜欢
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
相关资源
最近更新 更多