[TOC]
创建并设置 edit.vue,并给 create-or-edit.vue 绑定 is-edit 属性标记为编辑功能。
class=“course-edit”>
is-edit>
import CreateOrEdit from ‘./components/create-or-edit’
export default {
name: ‘CourseEdit’,
components: {
CreateOrEdit
}
}
配置路由,并设置按钮点击跳转。
路由配置通过 props 解耦
组件通过 props 接收动态路由参数
点击编辑按钮跳转,同时通过作⽤域插槽接收并设置参数
// router/index.js … { path: ‘/course/:courseId/edit’, name: ‘course-edit’, component: () => import(/ webpackChunkName: ‘course-edit’ / ‘@/views/course/edit.vue’), props: true } ] // course/edit.vue … props: { courseId: { type: [String, Number], required: true } }, … // course/list.vue … slot-scope=“scope”>将路由参数 courseId 传递给⼦组件
// edit.vue …create-or-edit 组件接收⽗组件传值并进⾏处理。
courseId ⽆需设置默认值,因为添加时没有 id
// create-or-edit.vue … props: { isEdit: { type: Boolean, default: false }, courseId: { type: [String, Number] } }, …