为什么我的AngularJS指令会缓存以前的值?
我已经使用AngularJS指令在我的web应用程序中实现了“navbar”。当用户登录时,它显示登录用户的用户名。但是,当我以其他用户身份登录时,它仍然显示前一个用户的用户名,直到我手动刷新窗口为止。 有什么解决办法吗 这是navigation-directive.html为什么我的AngularJS指令会缓存以前的值?,angularjs,navbar,angular-directive,Angularjs,Navbar,Angular Directive,我已经使用AngularJS指令在我的web应用程序中实现了“navbar”。当用户登录时,它显示登录用户的用户名。但是,当我以其他用户身份登录时,它仍然显示前一个用户的用户名,直到我手动刷新窗口为止。 有什么解决办法吗 这是navigation-directive.html <header class="container" ng-controller="HomeController as vm" ng-init="vm.init()"> <!-- Fixed navbar
<header class="container" ng-controller="HomeController as vm" ng-init="vm.init()">
<!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">ABC app</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul ng-if="vm.isLoggedIn()" class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#!/homeuser">Home</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#!/myappointments">My Appointments</span></a>
</li>
<li class="nav-item active">
<a class="nav-link">Welcome!<strong> {{vm.loggedInUser}} </strong><i class="fa fa-user-circle-o"></i></a>
</li>
<li class="nav-item">
<a class="nav-link" ng-click="vm.logout()">Logout</span></a>
</li>
</ul>
</div>
</nav>
</header>
在我的家庭控制器里我正在做
vm.loggedInUser = response.data.username;
我已从我的家庭控制器复制了相关部分您的代码在哪里?无论您到目前为止尝试过什么,都可以添加有问题的代码。提供代码并检查指令的
binding
。指令不知道用户名
指令值的变化,控制器的作用域不同,$scope。控制器的用户名和作用域。指令的用户名
是不同的变量。当指令的变量更改时更新控制器变量。
vm.loggedInUser = response.data.username;