Reputation: 83
I am using this Sidebar in my Vuejs project:
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="nav-item has-treeview menu-open" style="direction:rtl;text-align:right">
<a to="#" class="nav-link active">
<i class="nav-icon fas fa-tachometer-alt ml-2"></i>
<p>
لینک ها
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<router-link to="/" class="nav-link active">
<i class="far fa-circle nav-icon"></i>
<p>صفحه اصلی</p>
</router-link>
</li>
<li class="nav-item">
<router-link to="/profile" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>پروفایل</p>
</router-link>
</li>
<li class="nav-item">
<router-link to="/about" class="nav-link">
<i class="far fa-circle nav-icon"></i>
<p>صفحه تستی</p>
</router-link>
</li>
</ul>
</li>
</ul>
by default, only one "li" has an "active" class... But I need to active the current "route" that we are using. How should I do it?
Upvotes: 0
Views: 902
Reputation: 2482
As I see in the Vue Router documentation, router-link
will automatically add an active class to your link when its target route is matched and you can easily set your custom class for it. So, you don't need to handle it manually.
https://router.vuejs.org/api/#active-class
Upvotes: 2