2016-03-24 11 views
3

Vue.jsとLaravelを使用して、単純なテーブルの商品を表示しています。そこから私はこのような製品の詳細ページにリンクしたい:テーブルは、データオブジェクトのクライアント側のベースの上に生成されるためパラメータがVue.jsのルートにリンクします

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

、私はその中を実装するための最もエレガントな方法を探していますroute()のような名前付きルートへのリンクを許可するラーバルメソッドをバイパスすることはありません。

本当にJavascriptのVue変数とroute-methodの結果を手動でマージする必要がありますか?私はおそらく、データバインディングを経由してのVueによって注入/解析でき

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

:私の心の中で

のようなものでしょうか?

+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」と名付けましょう必要な値。

願っています。

関連する問題