AngularJS ng-show - 2 次,2 个不同的结果

AngularJS ng-show - 2 Times, 2 different results

我正在使用 angularjs、cordova 和 iconic 创建一个应用程序。 我有一个垃圾桶图标,只有当用户在主页时才会显示。

所以我只会在 rootScope.Trashicon 为真时显示图标。

它在我的侧边菜单中运行良好。但是在侧面菜单内容区域它不起作用。不知道为什么...

    <ion-side-menus ng-controller="MainController" ng-init="getListTitle()">
      <ion-side-menu side = "left"> <!-- expose-aside-when DELETE IT !!!!!! -->
          <header><img src="img/todo_today_logo_small.png"></header>
          <div id="sideContent" class="item item-divider">ToDo Liste: 
              <p>                  
                  > <a menu-close href="#/todo">{{sideMenuListTitle}}</a>
              </p>
              <div ng-show="Trashicon">test</div>
              <h3></h3>
          </div>
          <div>
              <ul>
                  <li><a menu-close href="#/impressum">Impressum</a></li>
                  <li><a menu-close href="#/datenschutzerklaerung">Datenschutzerklärung</a></li>
              </ul>
          </div>
      </ion-side-menu>

      <ion-side-menu-content>
           <ion-nav-bar class="custom-dark" align-title="center">
               <ion-nav-buttons side="left">


    <!-- Toggle left side menu -->
   <button menu-toggle="left" class="button button-icon icon ion-navicon light"></button>   
  </ion-nav-buttons>
               <div ng-show="Trashicon">
                   <ion-nav-buttons side="right">
                   <button ng-click="deleteProducts()" class="button button-icon ion-ios-trash-outline pull-right light"></button>
               </ion-nav-buttons> 
               </div>                 
         <ion-nav-title></ion-nav-title>
  </ion-nav-bar>
          <div ng-view="" class="container"></div>
      </ion-side-menu-content>
  </ion-side-menus>

这是我的 rootScope 变量

.controller('MainController', function ($scope, $ionicPopup, $rootScope) {
            $rootScope.Trashicon = false;

带有垃圾桶图标的 div 仍然可见..我不知道为什么...如果有人对我有想法就太好了。

如果我尝试 ng-show="1==2" 它也只能在侧边菜单中工作....

而不是在侧边菜单内容区域..如果 ng-show="1==2" 将显示 div...奇怪

它接缝元素 ion-nav-buttons 有它自己的样式覆盖它上面的所有元素。

如果您将 ng-show 移近按钮,您将有更好的控制。

即代替

<div ng-show="Trashicon">
    <ion-nav-buttons side="right">
        <button ng-click="deleteProducts()" class="button button-icon ion-ios-trash-outline pull-right light"></button>
    </ion-nav-buttons> 
</div>   

这样做

<div>
    <ion-nav-buttons side="right">
        <button ng-show="Trashicon" ng-click="deleteProducts()" class="button button-icon ion-ios-trash-outline pull-right light"></button>
    </ion-nav-buttons> 
</div>