一个Vue布尔道具可以通过它的存在而成为真实,并且由于它的缺失而是错

Ema*_*non 26 vue.js vue-component vuejs2

在我的Vue组件中,我有一个名为"obj"的布尔道具.定义如下:

obj: { Type:Boolean, default: false}
Run Code Online (Sandbox Code Playgroud)

我可以这样设置为true:

<my-component :obj="true"></my-component>
Run Code Online (Sandbox Code Playgroud)

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

<my-component obj></my-component>
Run Code Online (Sandbox Code Playgroud)

我希望支柱的存在意味着真实而缺席意味着虚假.有没有办法在Vue组件中定义以这种方式工作的道具?

ton*_*y19 44

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

{
  props: {
    fast: Boolean
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

它默认为false.在以下模板中完全指定属性时,它将设置为true:

<my-foo fast/>  <!-- fast is true -->
Run Code Online (Sandbox Code Playgroud)

演示