代码之家  ›  专栏  ›  技术社区  ›  kshep92

将布尔属性传递给Vue组件的速记

  •  2
  • kshep92  · 技术社区  · 6 年前

    在Vue组件文档中指出:

    包括没有价值的道具将意味着 true : <blog-post favorited></blog-post>

    然而,当我在我的组件上尝试它时,它不起作用( related fiddle ):

    <!-- html -->
    <div id="app">
      <test-component visible></test-component>
    </div>
    
    <template id="template">
      <span>open: {{ open }}; visible: {{ visible }}</span>
    </template>
    
    <!-- JS -->
    const TestComponent = Vue.extend({
      template: '#template',
      props: ['visible'],
      data: function() {
        return { 'open': true }
      }
    });
    
    new Vue({
      el: "#app",
      components: {
        'test-component': TestComponent
      }
    });
    

    这是一个bug还是我做错了什么?

    1 回复  |  直到 6 年前
        1
  •  3
  •   m3characters    6 年前

    我也希望它能正常工作,但您似乎需要在props声明中指定字段的类型:

    props: {
        'visible': {
            type: Boolean
        }
    }
    

    这使其正常工作