离子隐藏和显示元素ng-show?

法比安

JS新手,Ionic框架,AngularJS。我正在尝试使用ng-show && ng-click来在单击按钮时显示标题。我仍然没有得到预期的结果,有什么想法吗?

这是我的索引:

<body ng-app="starter" ng-controller="HomeCtrl as home">
    <!--
      The nav bar that will be updated as we navigate between views.
    -->
    <ion-nav-bar ng-show="display('on')" class="bar-balanced">
      <ion-content>
      <ion-nav-back-button class="bar-balanced">
      </ion-nav-back-button>
      </ion-content>
    </ion-nav-bar>
    <!--
      The views will be rendered in the <ion-nav-view> directive below
      Templates are in the /templates folder (but you could also
      have templates inline in this html file if you'd like).
    -->
    <ion-nav-view></ion-nav-view>
  </body>

我的控制器:

.controller('HomeCtrl', function($scope) {
$scope.display = function (x) {

  if (x == 'on'){
    return true;
  }
  else if (x == 'off'){
    return false;
  }
}

})

我的看法:

<ion-view ng-controller="HomeCtrl as home">

  <ion-content class="splash">
  </ion-content>

  <ion-footer-bar class="bar-balanced">
    <button ng-click="display('on')" class="button-large button-full button-clear">
      <a  class="button button-icon icon ion-log-in"href="#/login" >

      </a>
    </button>
  </ion-footer-bar>


</ion-view>

如果我错过了任何内容,将编辑带有更新的帖子**

尼古拉斯·马克库拉(Nicholas J.Markkula)

我在这里看到了几个问题,首先导航栏和页脚栏元素都应位于ng-controller元素内。这将使导航栏可以访问示波器以确定是否应显示它。

同样,您应该在示波器上使用变量来确定是否显示了导航栏,下面是完整的示例。

var app = angular.module('myApp', []);

app.controller('HomeCtrl', function($scope) {
  $scope.isNavVisible = false;
  $scope.displayNav = function(x) {
    if (x == 'on') {
      $scope.isNavVisible = true;
    } else if (x == 'off') {
      $scope.isNavVisible = false;
    }
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<html ng-app="myApp">
<div ng-controller="HomeCtrl">
  <ion-nav-bar ng-show="isNavVisible" class="bar-balanced">
    <span>Nav Content</span>
    <ion-content>
      <ion-nav-back-button class="bar-balanced">
      </ion-nav-back-button>
    </ion-content>
  </ion-nav-bar>

  <ion-footer-bar class="bar-balanced">
    <button ng-click="displayNav('on')" class="button-large button-full button-clear">
      <a class="button button-icon icon ion-log-in" href="#/login">Login</a>
    </button>
  </ion-footer-bar>
</div>

</html>

如果您需要从多个控制器操纵导航,则可以使用类似的服务来完成

var app = angular.module('myApp', []);

app.service('navService', function() {
  this.isNavVisible = false;
});

app.controller('RootCtrl', ['$scope', 'navService',
  function($scope, navService) {
    $scope.navService = navService;
  }
]);

app.controller('HomeCtrl', ['$scope', 'navService',
  function($scope, navService) {
    $scope.displayNav = function(x) {
      if (x == 'on') {
        navService.isNavVisible = true;
      } else if (x == 'off') {
        navService.isNavVisible = false;
      }
    }
  }
])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="myApp" ng-controller="RootCtrl">
  <!--
      The nav bar that will be updated as we navigate between views.
    -->
  <ion-nav-bar ng-show="navService.isNavVisible" class="bar-balanced">
    <span>Nav Content</span>
    <ion-content>
      <ion-nav-back-button class="bar-balanced">
      </ion-nav-back-button>
    </ion-content>
  </ion-nav-bar>
  <!--
      The views will be rendered in the <ion-nav-view> directive below
      Templates are in the /templates folder (but you could also
      have templates inline in this html file if you'd like).
    -->
  <ion-view ng-controller="HomeCtrl">

    <ion-content class="splash">
    </ion-content>

    <ion-footer-bar class="bar-balanced">
      <button ng-click="displayNav('on')" class="button-large button-full button-clear">
        <a class="button button-icon icon ion-log-in" href="#/login">
Login
        </a>
      </button>
    </ion-footer-bar>


  </ion-view>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

来自分类Dev

使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

来自分类Dev

ng-if或ng-show隐藏和显示DIV?

来自分类Dev

ng-if或ng-show隐藏和显示DIV?

来自分类Dev

Angularjs:在ng-show显示隐藏元素之后如何滚动页面?

来自分类Dev

为什么ng-show无法根据表达式显示或隐藏我的元素?

来自分类Dev

使用ng-show显示和隐藏无法按预期工作

来自分类Dev

使用ng-if初始化昂贵的元素,然后使用ng-show / hide进行显示/隐藏

来自分类Dev

显示时ng-show的AngularJs动画比隐藏更快速

来自分类Dev

角度ng-show空时仍显示<div>元素

来自分类Dev

为什么git在隐藏的`git show'输出中显示++和-?

来自分类Dev

ng-show 与 ng-show 的性能对比 隐藏的

来自分类Dev

值设置为false时,ng-show不会隐藏我的元素

来自分类Dev

AngularJS不会验证ng-show隐藏的表单元素上的输入

来自分类Dev

使用ng-click通过ng-show和ng-repeat显示正确的文章

来自分类Dev

隐藏元素时show()不起作用

来自分类Dev

在ng-hide CSS转换完成之前,不显示ng-show元素吗?

来自分类Dev

在ng-hide CSS转换完成之前,不显示ng-show元素吗?

来自分类Dev

<ng-show>隐藏在Angular材质上时显示为文本

来自分类Dev

在自定义replace指令上使用ng-show不会显示或隐藏

来自分类Dev

角度ng show正确切换为false / true,但未隐藏/显示

来自分类Dev

angular.js:使用ng-hide或ng-show隐藏JSON数据的最后两个元素

来自分类Dev

MediaController show()和hide()上的“隐藏和显示”工具栏

来自分类Dev

Angular JS 1.3动画Ng重复和Ng-Show元素

来自分类Dev

显示和隐藏ng-repeat循环的元素

来自分类Dev

AngularJS-> ng-click和ng-show显示div

来自分类Dev

Angular JS下拉列表使用ng-click和ng-show显示动态内容?

来自分类Dev

AngularJS-> ng-click和ng-show显示div

来自分类Dev

角度ng-show不显示数据

Related 相关文章

  1. 1

    使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

  2. 2

    使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

  3. 3

    ng-if或ng-show隐藏和显示DIV?

  4. 4

    ng-if或ng-show隐藏和显示DIV?

  5. 5

    Angularjs:在ng-show显示隐藏元素之后如何滚动页面?

  6. 6

    为什么ng-show无法根据表达式显示或隐藏我的元素?

  7. 7

    使用ng-show显示和隐藏无法按预期工作

  8. 8

    使用ng-if初始化昂贵的元素,然后使用ng-show / hide进行显示/隐藏

  9. 9

    显示时ng-show的AngularJs动画比隐藏更快速

  10. 10

    角度ng-show空时仍显示<div>元素

  11. 11

    为什么git在隐藏的`git show'输出中显示++和-?

  12. 12

    ng-show 与 ng-show 的性能对比 隐藏的

  13. 13

    值设置为false时,ng-show不会隐藏我的元素

  14. 14

    AngularJS不会验证ng-show隐藏的表单元素上的输入

  15. 15

    使用ng-click通过ng-show和ng-repeat显示正确的文章

  16. 16

    隐藏元素时show()不起作用

  17. 17

    在ng-hide CSS转换完成之前,不显示ng-show元素吗?

  18. 18

    在ng-hide CSS转换完成之前,不显示ng-show元素吗?

  19. 19

    <ng-show>隐藏在Angular材质上时显示为文本

  20. 20

    在自定义replace指令上使用ng-show不会显示或隐藏

  21. 21

    角度ng show正确切换为false / true,但未隐藏/显示

  22. 22

    angular.js:使用ng-hide或ng-show隐藏JSON数据的最后两个元素

  23. 23

    MediaController show()和hide()上的“隐藏和显示”工具栏

  24. 24

    Angular JS 1.3动画Ng重复和Ng-Show元素

  25. 25

    显示和隐藏ng-repeat循环的元素

  26. 26

    AngularJS-> ng-click和ng-show显示div

  27. 27

    Angular JS下拉列表使用ng-click和ng-show显示动态内容?

  28. 28

    AngularJS-> ng-click和ng-show显示div

  29. 29

    角度ng-show不显示数据

热门标签

归档