[Angularjs]ng-show和ng-hide

写在前面

上篇文章介绍了ng-select和ng-options指令的使用,这篇文章继续指令的学习,本篇文章讲学习ng-show和ng-hide指令。

系列文章

[Angularjs]ng-select和ng-options

ng-show和ng-hide

ng-Show 和ng-Hide 允许我们显示或隐藏不同的元素。这有助于创建Angular应用时,更方便的操作元素的显示与隐藏,而不必使用css或者js操作元素的显示与隐藏,这些交给angularjs来实现就可以了。我们只需要做的就是为ng-show和ng-hide指定显示或者隐藏的条件就可以了。

一个例子

控制元素的显示与隐藏,可以通过三种方式来实现,分别是:布尔值,表达式,函数。

布尔值

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
<head>
    <title>show-hide</title>
    <script src="JS/angular.min.js"></script>
    <script>
        var app = angular.module('app', []);
        app.controller('showHideController', function ($scope) {
            $scope.isShow = true;
        });
    </script>
    <style>
        .div {
            border: 1px solid #0094ff;
            background-color: rebeccapurple;
        }
    </style>
</head>
<body>
    <div ng-controller="showHideController">
        <div ng-show="isShow" class="div">this is a div which is show</div>
        <div ng-show="!isShow" class="div">this is a div which is hide</div>
        <button ng-click="!isShow">按钮</button>
    </div>
</body>
</html>

上面的例子,为ng-show指定了isShow的变量,通过该值是否为true,控制div的显示与隐藏。

函数

当然你可以通过,添加一个按钮,通过单击按钮,动态的修改isShow的值。可以这样:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
<head>
    <title>show-hide</title>
    <script src="JS/angular.min.js"></script>
    <script>
        var app = angular.module('app', []);
        app.controller('showHideController', function ($scope) {
            $scope.isShow = true;
            $scope.showorhide = function () {
                $scope.isShow = !$scope.isShow;
            }
        });

    </script>
    <style>
        .div {
            border: 1px solid #0094ff;
            background-color: rebeccapurple;
        }
    </style>
</head>
<body>
    <div ng-controller="showHideController">
        <div ng-show="isShow" class="div">this is a div which is show</div>
        <!--<div ng-show="!isShow" class="div">this is a div which is hide</div>-->
        <button ng-click="showorhide()">按钮</button>
    </div>
</body>
</html>

通过单击按钮,就会切换div的显示与隐藏,如果你监视一下dom,你会发现ng-show的实现也是通过,为元素addClass或者removeClass实现的。

表达式

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
<head>
    <title>show-hide</title>
    <script src="JS/angular.min.js"></script>
    <script>
        var app = angular.module('app', []);
        app.controller('showHideController', function ($scope) {
            $scope.isShow = true;
            $scope.showorhide = function () {
                $scope.isShow = !$scope.isShow;
                $scope.animal = '';
            }
        });

    </script>
    <style>
        .div {
            border: 1px solid #0094ff;
            background-color: rebeccapurple;
        }
    </style>
</head>
<body>
    <div ng-controller="showHideController">
        <div ng-show="isShow" class="div">this is a div which is show</div>
        <!--<div ng-show="!isShow" class="div">this is a div which is hide</div>-->
        <button ng-click="showorhide()">按钮</button>
        <h1>isShow={{isShow}}</h1>
        <input type="text" name="name" value="" ng-model="animal" placeholder="请输入一种动物" />
        <!-- 输入的内容是否为dog,为dog的时候显示,否则隐藏 -->
        <div ng-show="animal=='dog'">this is a dog</div>
    </div>
</body>
</html>

 

总结

上面列举的三个例子,分别从为ng-show或者ng-hide设置布尔值表达式, 以及 函数,实现的元素显示和隐藏功能 但这三种模式将能应用到更多的场景。其实归结到底的话算是一种:控制一个布尔值来改变元素的显示与隐藏的。关于ng-hide的用法与ng-show的用法类似。这里不再赘述。

博客地址: http://www.cnblogs.com/wolf-sun/
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4620150.html
时间: 2024-11-08 23:16:13

[Angularjs]ng-show和ng-hide的相关文章

测试IE浏览器对JavaScript的AngularJS的兼容性

这篇文章主要介绍了测试IE浏览器对JavaScript的AngularJS的兼容性的方法,尽管随着Windows10的近期上市,IE浏览器即将成为历史...需要的朋友可以参考下 短版本 为确保Angular应用在IE上能够工作请确认:   1. 在IE7或更早的版本上polyfill JSON.stringify.你可以使用JSON2或JSON3来polyfills. ? 1 2 3 4 5 6 7 8 9 10 11 <!doctype html> <html xmlns:ng=&qu

AngularJS实现在ng-Options加上index的解决方法_AngularJS

本文实例讲述了AngularJS实现在ng-Options加上index的解决方法.分享给大家供大家参考,具体如下: Angularjs交流群中有位童学问道如何为Angular select的ng-Options像Angularjs的ng-Repeat一样加上一个索引$index. 其实对于这个问题来说Angular本身并未提供$index之类的变量供使用.但是也不是说对于这个问题我们就没有解决方案. 把这个问题换成角度来看,我们所需要的就是js数组的下标,所以我们如果我们能够在对象上加入下标,

AngularJS使用ng-Cloak阻止初始化闪烁问题的方法_AngularJS

本文实例讲述了AngularJS使用ng-Cloak阻止初始化闪烁问题的方法.分享给大家供大家参考,具体如下: 在做angular的SPA开发时,我们经常会遇见在如Chrome这类能够快速解析的浏览器上出现表达式({% raw %} {{ express }} {% endraw %} ),或者是模块(div)的闪烁.对于这个问题由于JavaScript去操作DOM,都会等待DOM加载完成(DOM ready).对于angular会在DOM ready完会才回去解析html view Templ

AngularJS通过$sce输出html的方法_AngularJS

[问题描述] AngularJS的强大之处之一就是他的数据双向绑定功能----->ng-bind和针对form的ng-model 但在我们的项目当中会遇到这样的情况,后台返回的数据中带有各种各样的html标签 AngularJS输出html的时候,浏览器并不解析这些html标签 通过api,发现通过指令 ng-bind-html来实现html的输出. <div class="col-md-12 ng-binding" ng-bind-html="item.cont

AngularJs ng-repeat 嵌套如何获取外层$index_AngularJS

一个真实项目的例子是遍历表格的行和列, 每一行需要显示当前是第几行, 我立刻想到用$index, 简直就如同砍瓜切菜般, 一切都那么行云流水, 简直太容易了, 于是有了下面这段代码. <!-- repeat data row --> <tr ng-repeat="row in rows track by row.id"> <td ng-repeat="col in row.columns track by col.id"> <

AngularJS基础 ng-srcset 指令简单示例_AngularJS

AngularJS ng-srcset 指令 AngularJS 实例 定义图片的资源地址: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> &l

AngularJS基础 ng-mouseleave 指令详解_AngularJS

AngularJS ng-mouseleave 指令 AngularJS 实例 在鼠标指针离开元素时执行表达式: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </h

AngularJS基础 ng-mouseenter 指令示例代码_AngularJS

AngularJS ng-mouseenter 指令 AngularJS 实例 在鼠标指针穿过元素时执行表达式: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </h

AngularJS ng-mousedown 指令_AngularJS

AngularJS ng-mousedown 指令 AngularJS 实例 在鼠标按下时执行表达式: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head&g

AngularJS基础 ng-model-options 指令简单示例_AngularJS

AngularJS ng-model-options 指令 AngularJS 实例 在失去焦点时绑定输入框的值到 scope 变量中: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></scrip