侧边栏菜单在 Laravel+vue+adminlte 中不起作用

ffe*_*egu 5 javascript css laravel vue.js adminlte

我已经在我的 Laravel + vue 项目中使用 npm 安装了 AminLte v3,所有东西都运行良好,但是当我单击标记为的侧导航栏主菜单时

<li class="nav-item has-treeview">
    <a href="#" class="nav-link">
        <i class="nav-icon fas fa-users"></i>
        <p>
            Members
            <i class="fas fa-angle-left right"></i>
            <span class="badge badge-warning right">new:2</span>
        </p>
    </a>
    <ul class="nav nav-treeview">
        <li class="nav-item">
            <router-link :to="{name : 'members'}" class="nav-link">
                <i class="fas fa-user-check nav-icon"></i>
                <p>All</p>
            </router-link>
        </li>
        <li class="nav-item">
            <router-link :to="{name:'membersLatest'}" class="nav-link">
                <i class="fas fa-user-plus nav-icon"></i>
                <span class="badge badge-danger right">2</span>
                <p>Latest</p>
            </router-link>
        </li>
        <li class="nav-item">
            <router-link :to="{name:'membersPending'}" class="nav-link">
                <i class="fas fa-user-clock nav-icon"></i>
                <p>Pending</p>
            </router-link>
        </li>
        <li class="nav-item">
            <router-link :to="{name:'membersSuspended'}" class="nav-link">
                <i class="fas fa-user-lock"></i>
                <span class="badge badge-danger right">2</span>
                <p>Suspended</p>
            </router-link>
        </li>
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

它正在将我重定向到#来自的路由器路径

<a href="#" class="nav-link">
    <i class="nav-icon fas fa-users"></i>
    <p>
        Members
        <i class="fas fa-angle-left right"></i>
        <span class="badge badge-warning right">new:2</span>
    </p>
</a>
Run Code Online (Sandbox Code Playgroud)

这部分并且它不会在主菜单中打开子菜单,并且我包含来自另一个 vue 组件的导航栏。

有人能告诉我如何解决这个问题吗?

小智 8

当您点击另一条路线而不是承认路线时,树视图选择器将无法找到该元素。当您将 url 重定向到 adminlte 时,树视图将无法工作,因为选择器是在安装元素之前定义的。

为了解决这个问题,在侧边栏组件中定义一个已安装的钩子。

mounted(){
   $('[data-widget="treeview"]').Treeview('init');
}
Run Code Online (Sandbox Code Playgroud)