1.Vue 2でコンポーネントプロップのデフォルト値を設定するにはどうすればいいですか?たとえば、このように使用できる単純なmovies
コンポーネントがあります。
<movies year="2016"><movies>
Vue.component('movies', {
props: ['year'],
template: '#movies-template',
...
}
しかし、ユーザーがyear
を指定していない場合:
<movies></movies>
そうすると、コンポーネントはyear
プロップにデフォルト値を取ります。
2。また、ユーザーがプロップを設定していないかどうかを確認するための最良の方法は何ですか?これは良い方法ですか。
if (this.year != null) {
// do something
}
または多分これ:
if (!this.year) {
// do something
}
?
Vue
を使用すると、小道具をオブジェクトにすることで、デフォルトのprop
値およびtype
を直接指定できます( https://vuejs.org/guide/components.html#Prop-Validation を参照)。 :
props: {
year: {
default: 2016,
type: Number
}
}
間違った型が渡されると、エラーをスローしてコンソールに記録します。
これは古い質問ですが、質問の後半部分についてです。ユーザーがプロップを設定したかどうかをどうやって確認できますか。
コンポーネント内のthis
を調べると、this.$options.propsData
があります。支柱がここにある場合は、ユーザーが明示的に設定しています。デフォルト値は表示されません。
これは、あなたが自分の値をデフォルト値と本当に比較できない場合に便利です。支柱が関数の場合.