Перед использованием маршрутизации у меня был следующий компонент Dashboard
:
<template>
<div>
<RegistrationForm v-on:add-employee="addEmployee" />
<EmployeeTable
v-bind:employees="employees"
v-on:delete-employee="deleteEmployee"
/>
</div>
</template>
<script>
...
export default {
components: {
EmployeeTable,
RegistrationForm
},
data() {
return {
employees: []
};
},
methods:{
deleteEmployee() {...}
addEmployee() {...}
}
}
</script>
Я хочу разделить маршруты один для регистрации нового сотрудника и один для перечисления всех сотрудников, так что я сделал первым обновляет шаблон выше:
<template>
<div>
<router-view/>
</div>
</template>
Затем я определил объект маршрутизатора:
export default new Router({
mode: 'history',
routes: [
{
path: "/dashboard",
name: "dashboard",
component: Dashboard,
children: [
{
path: 'add-employee',
component: RegistrationForm,
},
{
path: 'list-employees',
component: EmployeeTable,
}
]
}
]
});
У меня вопрос, как передать переменную состояния employees
и deleteEmployee
, addEmployee
методы из компонента Dashboard
для его дочерних компонентов?
Обновление: Я не знаю, почему не получил ответа на этот вопрос, хотя это обычная и тривиальная задача делать в других рамках, например в React
:
...
export default function BasicExample() {
const [x, setX] = useState("World");
return (
<Router>
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
</ul>
<Switch>
<Route exact path="/">
<Home x={x}/>
</Route>
</Switch>
</div>
</Router>
);
}
function Home({x}) {
return (
<div>
<h2>Hello {x}</h2>
</div>
);
}