ng-show
を使用してdivを表示および非表示にしようとしています。これは、いくつかのビューでのみ表示したいナビゲーションバーです。他のコントローラでng-showの値を変更する
私はそのdivを「制御する」コントローラを持っています。他のコントローラではdiv(navbar)を非表示または表示するためにこのng-show
の値を編集したいと思います。
私は$rootScope
、タイムアウト、$apply
、工場を使用して別のものを試しましたが、何も動作しません。
誰かが私を助けることができるかどうか私はここで尋ねています。
(私の英語のため申し訳ありませんが)
これは私のhtmlとjsのコード(最後の編集コード)
<div id="main">
<!-- Aquí inyectamos las vistas -->
<div ng-controller="appCtrl" ng-show="isLogged" class="navbar navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button>
<a class="navbar-brand" href="#/">Aula Virtual</a> </div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav" style="text-align: right">
<li class="active"><a href="#/home">Home</a></li>
<li><a href="#/server">Users</a></li>
<li><a href="#/operaciones">Operaciones</a></li>
<li><a href="#/about">About</a></li>
<li><a href="#/contact">Contact</a></li>
</ul>
</div>
</div>
<div class="connect">
<div class="container">
<p>
Aula Virtual para profesorado y alumnos de la universidad
</p>
</div>
</div>
</div>
<div ui-view></div>
</div>
私が試し
(= NG-ショー "isLogged ==偽")あまりにも。
のdivのコントローラ:
.controller('appCtrl', function($scope, $rootScope) {
console.log($scope.isLogged); //---> this shows undefined
});
私はisLogged値を編集したいコントローラー:助けを
cities2.controller('userCtrl',['rootScope', '$scope', '$state','$http','md5', function($rootScope, $scope, $state, $http, md5) {
$rootScope.$apply(function(){
$rootScope.isLogged = true;
});
ありがとう!
、? –
私は$範囲が異なるコントローラ間で運ばれないと思いますか?したがって、appCtrlコントローラのisLogged変数を初期化する必要がありますか? – Olly
前にappCtrlで$ scope.isLogged = falseを試しました。それは初期化の意味ですか? –