、のはApp.vue
それを呼びましょう、select要素があります。同じコンポーネントで変更された値をVue.js内の他のコンポーネントのメソッドに渡す方法は?ヘッダーコンポーネントで
<select v-model="locale">
<option value="en">English</option>
<option value="pl">Polski</option>
</select>
は、ユーザーが選択したオプションがwatch
で処理されます:
watch: {
locale (val) {
this.$i18n.locale = val;
console.log("locale: ", val);
localStorage.setItem("userPrefLang", val);
}
},
どのようにすることができます他のコンポーネント(子ではなく、兄弟)に通知します。具体的には、Users.vue
としましょう。ロケールパラメータが変更されましたか?私はバインドされたDOM要素ではなく、コードで新しい値(JSメソッドを使用)を取り上げたいと思います。変更されたロケールのために新しい値がページリロードをトリガするはずです。 Users.vue
さんのウォッチャーprops
を使用する必要がありますか、他の方法がありますか?
データ同期用のバスの使用を検討するか、vuex(https://vuejs.org/v2/guide/components.html#Non-Parent-Child-Communication)を使用してください。 –