【发布时间】:2018-11-25 07:11:43
【问题描述】:
我有一个这样的组件:
<vue-component show></vue-component>
如您所见,有一个 show 属性。我不能使用typeof,因为它总是undefined,因为没有任何价值。请帮忙!
【问题讨论】:
标签: javascript vue.js vue-component
我有一个这样的组件:
<vue-component show></vue-component>
如您所见,有一个 show 属性。我不能使用typeof,因为它总是undefined,因为没有任何价值。请帮忙!
【问题讨论】:
标签: javascript vue.js vue-component
作为 Bhojendra Rauniyar 答案的附录,您可能应该将默认设置为 false:
Vue.component('my-component', {
//props:['show'] <--- Wont work
props: {
'show': {
type: Boolean,
default: false
}
},
template: `<div>show is: {{show}}</div>`
})
new Vue({
el: '#app',
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<my-component show></my-component>
</div>
【讨论】:
好吧,你将在模板中使用如下:
<div v-if="show">
...
</div>
如果你需要检查脚本内部,你可能知道:
if(this.show) {
还有,
typeof show // will always be undefined
因为 props 也可以使用 this 访问:
typeof this.show // will return Boolean as you're just passing show
// which is simply like `:show="true"`
【讨论】: