Laravel URL 带有 Angular JS 变量的生成器

Laravel URL Generator With Angular JS Varible

我正在制作一个应用程序,Angular JS 作为前端,Laravel 作为后端。

我有一个主数据列表 table 查看以及删除和编辑选项。

<a class="resedit btn btn-sm btn-default" href="{{URL::route('edit_repair_category',[[category.id]])}}/"><i class="icon-note"></i></a>
<a title="Delete" ng-click="deleteRow($event,category.id,'{{URL::route('delete_repair_category')}}',currentPage)" class=" btn btn-sm btn-delete"><i class="glyphicon glyphicon-trash"></i></a>

上面我用Laravel URL生成器生成URL的编辑页面,但是我想传递主数据的ID来从控制器获取数据。

我将 [[ ]] 用于 Angular JS 绑定。

URL::route('edit_repair_category',[[category.id]])

现在我得到了异常 未定义常量类别的使用 - 假定 'category'

路线。

Route::get('edit-repair-category/{id}', ['as' => 'edit_repair_category', 'uses' => 'RepairCategoryController@editRepairCategory']);

有没有可能?

您收到此错误的原因是您混用了 javascriptPHP

您代码的 PHP 部分将在服务器上处理,然后传递到浏览器,然后将在浏览器中处理 javascript,直到 PHP 担心您正在尝试使用常量。

由于 category.id 即将结束 url,您应该可以执行以下操作:

<a class="resedit btn btn-sm btn-default" href="{{ URL::route('edit_repair_category', null) }}/@{{category.id}}"><i class="icon-note"></i></a>
此处使用

null 以防止引发错误。

{{category.id}} 之前的 @ 只是告诉 blade 将其视为普通字符串而不对其进行任何操作(@ 符号将被 blade 删除)。

希望对您有所帮助!