javascript - Ionic,从侧面菜单隐藏和显示元素

标签 javascript html angularjs ionic-framework

我是 Ionic 新手。我需要帮助来隐藏侧面菜单中的元素。例如我的 HTML 标记:

<ion-side-menus enable-menu-with-back-views="false">
  <ion-side-menu-content>
    <ion-nav-bar class="bar-stable">
      <ion-nav-back-button>
      </ion-nav-back-button>

      <ion-nav-buttons side="left">
        <button class="button button-icon button-clear ion-navicon" menu-toggle="left">
        </button>
      </ion-nav-buttons>
    </ion-nav-bar>
    <ion-nav-view name="menuContent"></ion-nav-view>
  </ion-side-menu-content>

  <ion-side-menu side="left">
    <ion-header-bar class="bar-stable">
      <h1 class="title">Menü</h1>
    </ion-header-bar>
    <ion-content>
      <ion-list>
        <ion-item menu-close ng-click="login()">
          Login
        </ion-item>
        <div ng-show="myValue">
        <ion-item id="idsuchen"  menu-close href="#/app/suche">
          Suchen
        </ion-item>
        </div>
      </ion-list>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>

我尝试隐藏和显示 ionic 项目。

我的 Controller (javascript)代码:

angular.module('starter.controllers', ['ngCordova'])

.controller('AppCtrl', function($scope, $ionicModal, $timeout,$ionicSideMenuDelegate) {


  // Form data for the login modal
  $scope.loginData = {};

  // Create the login modal that we will use later
  $ionicModal.fromTemplateUrl('templates/login.html', {
    scope: $scope
  }).then(function(modal) {
    $scope.modal = modal;
  });

  // Triggered in the login modal to close it
  $scope.closeLogin = function() {
    $scope.modal.hide();

  };

  // This is the important part.
   $scope.logout = function() {   
       alert("logout");
        $ionicSideMenuDelegate.scope.myValue = false; // What i have add

   };


  // Perform the login action when the user submits the login form
  $scope.doLogin = function() {
    console.log('Doing login', $scope.loginData);

    $timeout(function() {
      $scope.closeLogin();
    }, 1000);
  };
})// Ende

我尝试做这样的事情。如果我单击“注销”按钮, ionic 元素将隐藏。但这不起作用。

我尝试过的语法:

$ionicSideMenuDelegate.scope.myValue = false;
$ionicSideMenuDelegate.scope.myValue = true;
$scope.myValue = true;
$scope.myValue = false;

它通过使用 hide $('#idabmelden').hidde(); 与 jQuery 配合使用; 但如果我隐藏一次,我就无法再次显示它。这实在是太奇怪了。

提前致谢

最佳答案

上面的代码有点难以导航,但本质上你想做的事情如下:

在 html 中:

<a ng-click="toggleSomething()">ClickMe</a>
<div ng-show="isVisible"><h1>TOGGLE ME</h1></div>

js: 在初始化 block 中:

// initial state is visible
var initial_state = true;
$scope.isVisible = initial_state;

js - 切换/onclick 函数

// toggle value 
$scope.toggleSomething = function(){
  $scope.isVisible = !$scope.isVisible;
  console.log('make sure toggleSomething() is firing*');
}

关于javascript - Ionic,从侧面菜单隐藏和显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231840/

相关文章:

javascript - 语法错误 : invalid regular expression flag ajax,

javascript - 通过 HTML5 在 Android 上使用二进制字符串保存文件

javascript - OnClick 事件仅获取第一个动态创建的行/id

php - Codeigniter 和 AngularJS 错误 : pagination does not work when the application is not in the root directory

javascript - AngularJS 通过向下滚动部分加载元素数组

javascript - 无法动态设置 ng-model

html - 封面背景图像未正确缩放?

Java JEditorPane - 尝试编辑 html 标签值并出现异常

javascript - 使用 Protractor 获取 ng-repeat 内部的元素

JavaScript 对象属性返回未定义