2016-03-24 139 views
3

我正在使用Vue.js和Laravel呈現列出產品的簡單表格。從那裏,我想鏈接到商品詳細頁是這樣的:鏈接到參數爲Vue.js的路由

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

由於對數據對象在客戶端的基礎是生成的表,我在尋找實施,雖然最優雅的方式不要繞過像route()這樣的laravel方法,它允許我鏈接到一個命名路線。

我真的必須手動合併路線方法的結果與Javascript中的Vue變量嗎?

在我心中是一樣的東西:

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

,我可以大概分析/ Vue公司由通過數據綁定注入?

+0

類似於下面的問題,但我需要將「後端參數」合併到鏈接目標中:http://stackoverflow.com/questions/32560184/how-to-pass-url-parameters-to-vuejs – patriziotomato

+0

你使用laravel或vue-router來進行路由嗎?我想不出一種方法可以解決我的問題,因爲它們都需要路徑或命名路由+參數 – Jeff

+0

我正在使用laravel進行路由。 – patriziotomato

回答

3

由於Vue是客戶端,所以它是服務器端,你不能以這種方式完成。

但你可以做這樣的事情在渲染路線:

在動作元素創建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> 

基本上你'替換... uhmm ...讓我們將它命名爲「placehoder」與th呈現的路線中e所需值。

希望它有幫助。