【发布时间】:2019-08-10 21:14:00
【问题描述】:
在我的 laravel/vuejs 单页应用程序中,我将所有组件安装在一个页面上(welcome.blade.php 文件),并且在其中包含了我的导航栏刀片组件 @include('layouts.navbar')。
@extends('layouts.app')
@section('content')
@include('layouts.homenavbar')
<router-view></router-view>
@endsection
我的主页在一个巨大的横幅上有一个透明的背景导航栏。但是,相同的导航栏提供给其他页面/组件,但具有彩色背景和白色字体。我尝试使用 itenary 检查传入的路线是否回家并添加一个 id 为导航栏提供透明背景,如果路线不回家,请像这样离开彩色背景导航栏;
<nav class="navbar navbar-default navbar-static-top" id=>"{{ Route::currentRouteName() === 'home' ? "home_nav" : ''}}">
----
</nav>
在我的 CSS 中;
#home_nav{
background: iceblue;
color: #fff;
}
但是,当我转到其他路线时,除非我重新加载页面,否则我会不断获得透明的导航栏。 我该如何解决这个问题?
【问题讨论】:
-
我更喜欢直接使用 style="{{ Route::currentRouteName() === 'home' ? 'background: iceblue; color: #fff;' : '' }}"
-
谢谢@Vernon ..它是一样的,它在我重新加载页面之前不起作用。
-
你的重定向是在 Vue JS 中发生的吗?如果是,您可能需要使用 window.location.href
-
我的路由和所有工作都很好。我的导航栏在刀片上。但是,除非重新加载页面,否则动态添加 Id 并不仅仅发生
-
是的,只有在页面重新加载时才能更改 ID。因为 PHP 不像 Vue JS 那样在虚拟 DOM 中,它会在页面发生变化时刷新页面。