我有一个控制器,该控制器将路由传递到blade.php文件。在该blade.php文件中,我正在使用Vue组件并将:routes
作为道具传递给Vue组件。问题是,控制器正在返回多个路由的集合,但是当我将:routes
传递给我的Vue组件时,除非我一次仅传递一条路由,否则它是错误的。在我的组件中,我有一些路由要在props
中作为数组接受。如何传递从刀片到Vue的一系列路由?
blade.php文件
<user-exam
:routes="{{ json_encode( route('user.exam-start', ['exam' => $exam[0]]))}}"
></user-exam>
您可以在上面的代码中看到,我正在使用[0]
索引来传递一条路线,我不想这样做。
userExam.vue文件
<script>
export default {
props: {
routes: Array,
},
}
</script>
谢谢。
答案 0 :(得分:0)
关于Laravel,我几乎没有用,但是听起来您想将$exam
数组映射到路由数组(由该route
函数返回)。
尝试一下
<user-exam
:routes="{{ json_encode( array_map(function($ex) {
return route('user.exam-start', ['exam' => $ex]);
}, $exam) ) }}"
></user-exam>
答案 1 :(得分:0)
我找到了解决问题的方法,最终像这样在刀片文件中循环
@foreach($exam as $ex)
<user-exam
:routes="{{ json_encode( route('user.exam-start', ['exam' => $ex]))}}"
></user-exam>
@endforeach
这最终会创建vue组件的多个实例,但是它可以按我的意愿工作。
在vue开发工具中,您具有类似以下内容:
<Root>
<userExam>
<userExam>
</Root>