链接到参数为Vue.js的路由


Link to a route with a parameter of Vue.js

我使用Vue.js和Laravel来呈现一个列出产品的简单表格。从那里我想链接到这样的产品详细信息页面:

<a href="{{ route("product::details", ['product' => '???']) }}">@{{ product.id }}</a>

由于表是在客户端基于数据对象生成的,所以我正在寻找最优雅的方法来实现它,同时不绕过任何允许我链接到命名路由的laravel方法,如route()

我真的必须手动将route方法的结果与Javascript中的Vue变量合并吗?

在我的脑海里是这样的:

<a href="{{ route("product::details", ['product' => ':product.id']) }}">@{{ product.id }}</a>

我可能可以通过数据绑定由Vue解析/注入?

作为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> 

基本上你是在替换。。。嗯。。。让我们把它命名为"占位符";在渲染的路由中使用所需的值。

希望能有所帮助。