如果仅存在,则在 laravel 刀片中调用路由

Posted

技术标签:

【中文标题】如果仅存在,则在 laravel 刀片中调用路由【英文标题】:call route in laravel blade if exists only 【发布时间】:2018-07-10 09:13:57 【问题描述】:

我有一个将使用 URL 的 ajax 函数。

ajaxMyFunction('route('myroute.route1')', function (result)  //do stuff );

我想在我的动态路由列表中仅当它存在时调用该路由,因为如果myroute.route1 尚不存在,Laravel 会抛出异常。

有没有办法在将路径渲染到刀片之前检查路线,就像我们检查视图时一样?

@if(View::exists('myroute.route1'))

我试过了,Route::has('myroute.route1'),但效果不佳。

感谢您的帮助;)

【问题讨论】:

【参考方案1】:

正如我在我的 Laravel 最佳实践仓库中解释的那样,你 shouldn't mix JS and Blade syntax。要使其正常工作,请在后端执行以下操作:

let route =  Route::has('myroute.route1') ? route('myroute.route1') : 'false' 

然后在 JS 中,你将能够做这样的事情:

if (route) 
    ajaxMyFunction(route, ....);

【讨论】:

感谢这个技巧[非常有帮助],但在我目前的情况下,我真的需要把它放在刀片里面 :)

以上是关于如果仅存在,则在 laravel 刀片中调用路由的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 中动态创建刀片

在路由函数中读取刀片变量

如何使用 laravel 路由提供包含非刀片(Html)的文件夹? [复制]

laravel 5.2 如何在刀片中获取路由参数?

Laravel 路由动态路由控制器到刀片模板

在 laravel 刀片路由中使用 JavaScript 变量