我有一个使用角度路由工作的角度网站。它有一个登录名,在该页面上我想隐藏标题。我在其他stackoverflow页面上发现,最好的方法是使用ng-if或ng-hide。然而这些似乎并没有触发。那里有一些荷兰人,所以忽略那个
textBox1.DataBindings.Add(new Binding("Text", _presenter, nameof(_presenter.FirstName)));
textBox2.DataBindings.Add(new Binding("Text", _presenter, nameof(_presenter.LastName)));
textBox3.DataBindings.Add(new Binding("Text", _presenter, nameof(_presenter.Address)));
webpage 请注意控制台中没有打印任何内容(随机文本是其他内容),即使在isLogin()函数中的console.log()中也是如此强大
isLogin()函数位于logincontroller中,该函数在app.config()函数中为路径“/ login”
引用答案 0 :(得分:0)
这是一个pen,我建议做一些不同的事情。但基于上面给出的代码,这是一种方法。超时是出于示例目的,这可以在响应成功/失败时从loggin设置。
angular.module('app', [])
.controller('ExampleController', ExampleController);
ExampleController.$inject = ['$scope', '$timeout'];
function ExampleController($scope, $timeout) {
$scope.hideNav = false;
$scope.loggedIn = function() {
//this could also be set in the view.
$scope.hideNav = true;
}
$scope.logOut = function() {
$scope.hideNav = false;
}
$scope.$watch('hideNav', function(newVal, oldVal) {
if (newVal == true) {
$timeout(function() {
$scope.hideNav = false;
}, 10000);
}
});
}
<div class="container" ng-app="app">
<nav ng-hide="hideNav" class="navbar navbar-default" ng-controller="ExampleController">
<div class="container-fluid">
<div class="navbar-header">
<a href="/" class="navbar-brand">
<img alt="Brand" src="../resources/calendar.png">
</a>
</div>
<ul class="nav navbar-nav">
<li><a href="./taken">Taken</a>
</li>
<li><a href="./hulpaanvragers">Hulp aanvragers</a>
</li>
<li><a href="./vrijwilligers">Vrijwilligers</a>
</li>
</ul>
<ul class="nav navbar-nav pull-right">
<li><a href="#" ng-click="loggedIn()">log in</a>
</li>
<li><a href="#" ng-click="logOut()">logout</a>
</li>
</ul>
</div>
</nav>
</div>
答案 1 :(得分:0)
我找到了ng-hide无法正常工作的原因 这是因为导航栏不是包含控制器的ng-view的一部分
我没有意识到导航栏位于ng-view范围之外
我通过添加一个包围整个身体的额外控制器来修复它
编辑*
更改了解决方案没有添加额外的控制器但是将变量添加到rootscope并且rootscope可以访问整个页面