Vue - 使用 router-link 将道具传递给路由器
Vue - passing props to router with router-link
我有一个测验组件,目前正在将本地道具传递给本地组件
<component
:id="quiz.id"
:questions="QuizQuestions"
/>
我现在想创建路由并传递道具
path: '/quiz',
components: {
default: Quiz,
nav: MainNav
},
}
}
<router-link path="/quiz">Take the quiz</router-link>
我可以将它们作为参数传递,但问题对象中有 50 个问题,我如何将它们作为道具传递给路由?我查看了文档,但无法弄清楚它是如何完成的。
编辑。
因此,您只需将它们添加为参数即可完成 2 件重要的事情。
路径必须是命名路径
<router-link :to="{ name: 'quiz', params: {questions: QuizQuestions} }">Go to quiz</router-link>
路由必须命名('quiz' 在我的示例中),您还需要将 props 设置为 true 以显式使用 props 而不是正常的 url 参数。
name: 'quiz'
path: '/quiz',
components: {
default: Quiz,
nav: MainNav
},
props: {
default: true,
nav: true
},
最好的方法是像这样使用它:
<router-link :to="{ name: 'Quiz', params: { questions: QuizQuestions }}">Linkname</router-link>
我有一个测验组件,目前正在将本地道具传递给本地组件
<component
:id="quiz.id"
:questions="QuizQuestions"
/>
我现在想创建路由并传递道具
path: '/quiz',
components: {
default: Quiz,
nav: MainNav
},
}
}
<router-link path="/quiz">Take the quiz</router-link>
我可以将它们作为参数传递,但问题对象中有 50 个问题,我如何将它们作为道具传递给路由?我查看了文档,但无法弄清楚它是如何完成的。
编辑。
因此,您只需将它们添加为参数即可完成 2 件重要的事情。
路径必须是命名路径
<router-link :to="{ name: 'quiz', params: {questions: QuizQuestions} }">Go to quiz</router-link>
路由必须命名('quiz' 在我的示例中),您还需要将 props 设置为 true 以显式使用 props 而不是正常的 url 参数。
name: 'quiz'
path: '/quiz',
components: {
default: Quiz,
nav: MainNav
},
props: {
default: true,
nav: true
},
最好的方法是像这样使用它:
<router-link :to="{ name: 'Quiz', params: { questions: QuizQuestions }}">Linkname</router-link>