2016-05-13 49 views
1

傳遞變量這樣的IM我的觀點(用刀片模板)我有HREF直接調用控制器鏈接發,看起來像:呼叫laravel {{行動(控制器@方法}}從vue.js陣列

<a id="@{{user.id}}" href="{{action('[email protected]')}}>update</a> 

,它工作正常,但現在我需要通過一些額外的數據,這是採取從vue.js陣列,這也應放在括號彎曲,如:

<a id="@{{user.id}}" href="{{action('[email protected]', ['user_id' => @{{user.id}}])}}>update</a> 

在這裏我開始ge約意想不到的十符號擬合消息。我試過刪除@符號,並將此變量放在href引號之外,但它不起作用。有沒有可能解決這個問題?

UPD:我也試圖把在VUE方法這個環節,類似

$.getJSON('{{action("[email protected]", ["user_id" => '+vm.user.id+'])}}') 

但在這種情況下,字面意思是 「vm.user.id」,而不是變量被鏈路傳遞

UPD2: 現在我想將數據傳遞不鏈接,像$.getJSON('{{action("[email protected]")}}', {user_id: vm.user.id})

和我越來越喜歡更新鏈接?USER_ID = 123,但我需要一個像更新格式化/ 12 3

回答

0

我真的不熟悉vue.js,但在一般PHP將執行對服務器和JavaScript客戶端。所以,第一行

<a id="@{{user.id}}" href="{{action('[email protected]', ['user_id' => @{{user.id}}])}}>update</a> 

有這部分@{{user.id}} PHP無法理解,因爲它的JavaScript符號,讓你得到一些語法錯誤。

而對於二線

$.getJSON('{{action("[email protected]", ["user_id" => '+vm.user.id+'])}}') 

我認爲這不能得到執行或者因爲這不加載Laravel,和PHP {{action("[email protected]")}}有沒有Laravel加載沒有特別的意義。

你可以做這樣的事情。硬編碼將從服務器呈現的URL的一部分,並在URL發送到客戶端時添加剩餘的URL。

例如,你可以有服務器生成的URL是這樣的:

<a id='url' href="http://example.com/controller/method/">update</a> 

然後有某種客戶端JavaScript函數,將追加vm.user.id到它時,頁面加載

$(document).ready(function(){ 
    $('#url').attr('href', $('#url').attr('href') + vm.user.id); 
}); 

我想這會導致像這樣的URL

<a id='url' href="http://example.com/controller/method/123">update</a> 
+0

不幸的是,這不是我需要,但無論如何謝謝你。現在我想將數據傳遞不鏈接,像 '$ .getJSON( '{{行動( 「控制器@法」)}}',{USER_ID:vm.user.id})' 和我獲取類似_update?user_id = 123_的鏈接,但我需要像_update/123_這樣的格式 – Coffee