调用laravel{{action(Controller@method}}通过传递vue.js数组中的变量
Call laravel {{action(Controller@method}} with passing variable from vue.js array
所以在我的视图中(使用刀片模板创建),我有一个与href的链接,它直接调用Controller,看起来像:
<a id="@{{user.id}}" href="{{action('Controller@method')}}>update</a>
它工作得很好,但现在我需要传递一些额外的数据,这些数据是从vue.js数组中提取的,也应该放在弯曲的大括号中,比如:
<a id="@{{user.id}}" href="{{action('Controller@method', ['user_id' => @{{user.id}}])}}>update</a>
在这里,我开始收到关于意外的{symbol的消息。我尝试删除@symbol,并将此变量放在href引号之外,但没有成功。有可能解决这个问题吗?
UPD:我也试着把这个链接放在vue方法中,比如
$.getJSON('{{action("Controller@method", ["user_id" => '+vm.user.id+'])}}')
但在这种情况下,字面意思是"vm.user.id",而不是变量在链接中传递
更新2:我现在正在尝试传递不在链接中的数据,如$.getJSON('{{action("Controller@method")}}', {user_id: vm.user.id})
我得到了类似更新的链接?user_id=123,但我需要类似update/123
我真的不熟悉vue.js,但通常PHP会在服务器上执行,javaScript会在客户端上执行。所以第一行
<a id="@{{user.id}}" href="{{action('Controller@method', ['user_id' => @{{user.id}}])}}>update</a>
有@{{user.id}}
PHP无法理解的部分,因为它是javaScript表示法,所以您会遇到某种语法错误。
对于二线
$.getJSON('{{action("Controller@method", ["user_id" => '+vm.user.id+'])}}')
我认为这也无法执行,因为它没有加载Laravel,并且在没有加载Laravil的情况下,对PHP {{action("Controller@method")}}
没有特别的意义。
你可以做这样的事。对将从服务器呈现的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>
- 如何创建带有插槽的vue js组件预加载程序
- 引用vue.js中v-for中的上一个值
- 如何访问<插槽>内部v-for(vue.js)
- 调用laravel{{action(Controller@method}}通过传递vue.js数组中的变量
- Vue.js获取组件中的一个元素
- 将自定义脚本加载到Vue.js组件中
- Vue.js:手表数组长度
- Vue.js片段实例
- vue-js-单选按钮won't默认情况下使用v-model属性进行检查
- 访问JQuery中的vue-js变量
- 如何在Vue.js中使用列表视图
- Vue.js-插值错误-如何将样式修改为v-bind:style
- 如何从Vue.js中的子组件访问父方法
- Ajax文件上传Vue.js
- Vue.js如何在定义API变量之前实现自定义过滤器
- Vue.js 在方法内失去范围
- Vue.js 数据对象不适用于某些 lodash 函数
- Vue.js继承调用父方法
- 使用 Vue.js 调用 Node.js 服务器
- 从mixin Vue.js获取数据