如何在动态创建的列表中设置标签页类“事件”?
我有一个链接“toon alle”,我可以在其中显示我的所有记录,但是当我单击一个链接时,我会显示不同的 View 。但事件标签仍保留在我的第一个链接上。
<ul class="nav nav-pills sort-source" data-sort-id="portfolio" data-option-key="filter">
<li data-option-value="*" class="active">
<a href="#" ng-click="getAllRequests(1)">Toon alle</a>
</li>
@foreach ($Categories as $categorie)
<li data-option-value=".{{$categorie->nameN}}" class="">
<a href="#" ng-click="getRequests({{$categorie->id}})"
data-id="{{$categorie->id}}">{{$categorie->nameN}}
</a>
</li>
@endforeach
</ul>
最佳答案
您可以使用自定义 facade
轻松做到这一点或 HTML macro
如果您使用 laravel 4
.
此示例假定您使用的是命名路由。
您还可以更改 route($route)
与 Route::getCurrentRoute()->getPath()
对于 laravel 4 中的宏
/*
|--------------------------------------------------------------------------
| Active state HTML Macro
|--------------------------------------------------------------------------
|
| Tests a route against the current URL for active state
| If true, returns 'active' for class name
| Usage: HTML::activeState('named.route')
|
*/
HTML::macro('activeState', function ($route,$arguments=NULL,$class='active')
{
return strpos(Request::url(), route($route,$arguments)) !== false ? $class : '';
});
对于门面(如果您不知道什么是门面以及如何创建门面 read here
门面访问器
use Illuminate\Support\Facades\Facade;
class activeState extends Facade {
protected static function getFacadeAccessor() { return 'activeState '; }
}
门面主类
namespace App\Helpers;
class activeState {
public function activeState($route,$arguments=NULL,$class='active')
{
return strpos(Request::url(), route($route,$arguments)) !== false ? $class : '';
}
}
门面服务提供者
App::bind('activeState ', function()
{
return new App\Helpers\activeState ;
});
然后添加新的 provider/alias laravel 配置文件。
在你的视野中
<li class="{{activeState::activeState('route.name')}}">This is an li item</li>
关于css - Laravel 设置选项卡在 foreach 中处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922914/