Это зависит ...
Ответ зависит от различных факторов. Например, вы уже используете vuex, размер приложения, возможность тестирования приложения и даже как проверяются поля (проверки асинхронности / API?).
Когда это простое приложение, и я только есть прямые родительские => дочерние отношения, я склонен пропустить добавление Vuex в качестве зависимости. (но я в основном имею дело с SPA, поэтому я обычно использую его) YMMV.
В этом случае для этого потребуется определить поля в родительском элементе. Затем добавьте реквизиты и излучатели для каждого значения дочерним элементам и слушателю родительского элемента. Однако, когда вы начнете добавлять больше полей, вы можете найти это утомительным и выбрать передачу полей в объекте либо в группах, либо в целом (и выбрать только те, которые вам нужны во вкладке), а затем вы сможете реализовать свои собственные v-model
во вкладке компонентов, которые могут довольно легко обойти объект вокруг
Если вы используете более позднюю версию Vue (2.6+), вы можете использовать vue .observable для обмена магазин между несколькими компонентами без наворотов Vuex
Есть хорошая статья , которая показывает, как создать клон Vuex с его помощью, но на самом деле это гораздо, гораздо проще, чем создать магазин, который будет соответствовать вашим потребностям. Дайте мне знать в комментариях, если вы заинтересованы в том, как это реализовать, и я могу описать это.
Работа с пользовательским магазином
это действительно так просто, как этот
Создайте файл store.js
с помощью ...
import Vue from 'vue';
const store = Vue.observable({
name: null,
email: null,
age: null,
mobile: null,
});
export default store;
, затем в любом компоненте, к которому вы хотите иметь доступ, добавьте хранилище во время создания
import store from "../store";
export default {
name: "PersonalInfo",
created() {
this.$store = store;
}
};
теперь весь магазин доступен для вас в шаблоне через $store
<input type="text" value class="form-control" v-model="$store.name">
код и пример коробки
Вы теряете такие преимущества, как «путешествие во времени» "над мутациями, которые предлагает Vuex. Поскольку вы не имеете дело с масштабом, для которого предназначался шаблон потока (vuex), я бы использовал это решение в приложении такого размера.