2015-11-03 267 views
1

我有一個管理佈局刷新頁面內容無需刷新母版頁中laravel

enter image description here


我有一個總體佈局包含我:

  • 頂部導航
  • 左側NAV

每個頁面都是一個視圖,我擴展了主佈局視圖,並僅更新了內容部分。

我的目標是刷新只有內容頁面沒有刷新母版頁。


有沒有這樣的事情任何laravel包

+0

簡單的使用ajax)或者我應該解釋更多? –

回答

6

簡短的回答:使用AJAX。如果真的很簡單(除非你真的想這麼做),那麼就沒有必要去學習JavaScript框架。下面的示例使用jQuery和假設你單擊導航的用戶鏈接(所有鏈接也應該有一個nav-item類,以便他們可以通過該選擇易於識別)與線路具有屬性href="/admin/users"。當點擊它加載元素中的內容與類content

$('.item-nav').click(function (event) { 
    // Avoid the link click from loading a new page 
    event.preventDefault(); 

    // Load the content from the link's href attribute 
    $('.content').load($(this).attr('href')); 
}); 

如果路由admin/users將返回用戶表,它的內容:

get('admin/users', function() { 
    return view('users')->with('users', Users::all()); 
}); 

以上Laravel路線例子當然是簡化以展示您的導航中的每個項目都應該鏈接到需要動態顯示的內容的想法。

+1

很好的答案砰的一聲 –

+0

你總是提供答案。我真的很感激你的幫助。 – ihue

2

您可以使用renderSections()。

在你的主控制器的動作(比如AdminUsersController @ getIndex)可以渲染根據請求您的視圖的特定部分。這樣,如果您對您所在的同一頁面執行ajax請求,則只能返回所需的部分。

if($request->ajax()) { 
     return view('admin.users',$users)->renderSections()['content']; 
} 

return view('admin.users',$users);