2016-01-09 58 views
0

在dashboard.blade.php中,我管理js庫鏈接。在laravel中查看請求URL

所以,我並不想在網頁中的所有庫,我這樣做是:

@if (Request::is("mail/create")) 
     {!! Html::script('js/plugins/ui/nicescroll.min.js') !!} 
     {!! Html::script('js/sidebar_detached_sticky_custom.js') !!} 
@endif 

每個頁面或一組頁面。

事情是,當我編輯的項目,我在我的URL具有以下格式:

http://laravel.dev:8000/mail/1/edit 

而作爲1是店鋪ID和變化,我的方法不工作了....

任何方法來解決我的問題或做得更好?

Tx!

回答

1

您可以使用路由名稱代替,那麼你可以做這樣的:

@if (Request::route()->getName() == "mail_edit") { 
    {!! Html::script('js/plugins/ui/nicescroll.min.js') !!} 
    {!! Html::script('js/sidebar_detached_sticky_custom.js') !!} 
} 

這裏的laravel文檔名爲路線:https://laravel.com/docs/5.1/routing#named-routes

或者,你可以這樣做:

@if (strpos(Request::url(),'mail') !== false && strpos(Request::url(),'edit') !== false) { 
    {!! Html::script('js/plugins/ui/nicescroll.min.js') !!} 
    {!! Html::script('js/sidebar_detached_sticky_custom.js') !!} 
} 
+0

tx爲您的幫助!第二選擇工作!添加這個第一個答案:https://laravel.com/docs/5.1/routing#named-routes –

0

如果@extend(main)在主模板頭部添加了庫,那麼你應該在你的主模板(這是你擴展的)中包含js庫,那麼你不需要添加它在每一頁上。

+0

這就是我所做的,但我不想在我的所有網頁中包括我所有的js。你寫了一次,但它包含在所有頁面中,這不好,它會產生很多衝突 –