ng节目没有'不适用于Ionic框架

ng-show doesn't work with Ionic framework

本文关键字:不适用 适用于 Ionic 框架 节目 ng      更新时间:2023-09-26

所以我只是想制作一个按钮,根据用户是否登录来更改它。这是我想要的:

    <ion-view view-title="Settings">
       <ion-nav-buttons side="right">
 <a href="#/camera"><img src="../img/camera.png" height="20%" width="20%" style="float:right; margin-right: 10px"></a>
       </ion-nav-buttons>
       <ion-nav-buttons side="left">
   <button ng-show="isLoggedOn" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOff()">
     Log Off
   </button>
       </ion-nav-buttons>
       <ion-nav-buttons side="left">
   <button ng-show="!isLoggedOn" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOn()">
     Log On
   </button>
       </ion-nav-buttons>

出于某种原因,如果我没有登录,它只显示第二个按钮(登录按钮),如果我登录了,它根本不显示任何内容。我甚至直接将登录设置为false,将注销设置为true,但它仍然给了我相同的结果:

  <ion-view view-title="Settings">
       <ion-nav-buttons side="right">
 <a href="#/camera"><img src="../img/camera.png" height="20%" width="20%" style="float:right; margin-right: 10px"></a>
       </ion-nav-buttons>
       <ion-nav-buttons side="left">
  <button ng-show="true" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOff()">
     Log Off
   </button>
       </ion-nav-buttons>
       <ion-nav-buttons side="left">
   <button ng-show="false" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOn()">
     Log On
   </button>
       </ion-nav-buttons>

将"登录"按钮的ng-show值切换为true,将"注销"按钮的值切换为false,将显示登录按钮。毫无意义。。。这是我的JS代码:

     .controller("settingsController", function($scope, $cordovaSQLite, Settings, $location) {
       $scope.isLoggedOn = Settings.getLoggedOn();
       $scope.signIn = function(form) {
 console.log(Settings.logIn(form.email, form.password));
 console.log($scope.isLoggedOn);
 $scope.isLoggedOn = Settings.getLoggedOn();
       //  console.log($scope.isLoggedOn);
       };
       $scope.signOff = function() {
 Settings.logOff();
       };
     });

请注意,这些都是代码片段,因此您可能找不到所有的结束标记。基本上,我的问题是无论我对登录或注销按钮做什么,无论我做什么,注销按钮(第一个按钮)都不会显示。

谢谢。

嗯,看起来像。。<ion-nav-buttons side="left">正在覆盖另一个。。!

试试这个:

<ion-nav-buttons side="left" >
      <button ng-show="isLoggedOn" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOn()">
        Log On
      </button>
      <button ng-show="!isLoggedOn" class="button button-full button-assertive" style = "margin-top: 0px;" ng-click = "signOff()">
        Log Off
      </button>
</ion-nav-buttons>