我正在使用Vue.js和Laravel来渲染一个列出产品的简单表格。从那里我想链接到这样的产品详细信息页面:
<a href="{{ route("product::details", ['product' => '???']) }}">@{{ product.id }}</a>
由于表是在客户端基于数据对象生成的,我正在寻找最优雅的方法来实现它,同时不绕过任何允许我链接到命名路由的laravel方法,如route()
我是否真的必须手动将路由方法的结果与Javascript中的Vue变量合并?
在我看来是这样的:
<a href="{{ route("product::details", ['product' => ':product.id']) }}">@{{ product.id }}</a>
我可以通过数据绑定解析/注入Vue吗?
答案 0 :(得分:5)
作为Vue的客户端和laravel它的服务器端,你无法以这种方式实现这一目标。
但你可以在渲染的路线上做这样的事情:
创建一个vue方法
goto_route: function (param1) {
route = '{{ route('yournamedroute', ['yourparameter' => '?anytagtoreplace?']) }}'
location.href = route.replace('?anytagtoreplace?', param1)
}
现在在你的动作元素
中<div v-for="o in object">
<a v-on:click="goto_route(o.id_key)">press</a>
</div>
基本上你要替换......呃...让它命名为#34; placehoder&#34;在具有所需值的渲染路线中。
希望它有所帮助。