2016-05-13 47 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