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

时间:2016-03-24 12:16:47

标签: php laravel laravel-5 vue.js

我正在使用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吗?

1 个答案:

答案 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;在具有所需值的渲染路线中。

希望它有所帮助。