[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的用法类似。这里不再赘述。

时间: 2024-11-29 02:30:26

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

angularjs中常用的ng指令介绍【转载】

原文:http://www.cnblogs.com/lvdabao/p/3379659.html 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下四种: 指令(directive).ng提供的或者自定义的标签和属性,用来增强HTML表现力. 标记(markup).即双大括号{{}},可将数据单向绑定到HTML中. 过滤器(filter).用来格式化输出数据. 表单控制.用来增强表单的验证功能. 其中,指令无疑是使用量最大的,ng内置了很多指令用来控制模板,如ng-repeat,ng-

NG调试及NG的模块化

Chrome插件:angularjs batarang插件,在使用它时Ctrl+Shift+I打开控制台,看到多一个angularjs,打开它,勾上Enable的勾勾,这里注意一定要用的时http协议,这样调试就简单多了. angular .module("MainModule",[])     这是定义一个模块 .controller("SigninController",function($scope){} .controller("SignupCon

angular2 ng build --prod 报错:Module not found: Error: Can&#39;t resolve &#39;./$$_gendir/app/app.module.ngfactory&#39;

调试页面 ng serve 正常 ng build 也正常 ng build --prod 异常:Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' 开始以为是以前那样,引用错了路径或少引用了东西. 搜了好多资料,发现是 angular-cli 的版本有点低了(因为用了最新的material) 找到原因了,问题就很容易解决了 第一步: rm -rf node_modules/ 第二部: npm

ng 构建

1.ng 构建和部署 构建:编译和合并ng build 部署:复制dist里面的文件到服务器 2.多环境的支持 配置环境package.json "scripts": { "ng": "ng", "start": "ng serve --env=prod", "build": "ng build --env=prod", "test": "

[转载]angularjs学习总结 详细教程

http://blog.csdn.net/yy374864125/article/details/41349417#t75 目录(?)[-] 前言 AngularJS概述 AngularJS是什么 AngularJS简单介绍 什么时候该用AngularJS AugularJS特性 特性一双向的数据绑定 特性二模板 特性三MVC 特性四服务和依赖注入 特性五指令Directives 功能介绍 数据绑定 scopesmodulecontroller scopes module ng-controll

AngularJS(1)

在讲正题之前,先说一下有关angular简介方面的信息: 1. angularJS  诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 2. AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. 3. AngularJS 通过 指令 

Basics of AngularJS

Basics of AngularJS: Part 1 By Gowtham Rajamanickam on Apr 09, 2015 AngularJS I have planned to start writing about AngularJS. I have begun to learn AngularJS a few months back, it's a great feature for website UI developers. It is also easy to learn

通过几段代码,理清angularJS中的$injector、$rootScope和$scope的概念和关联关系

$injector.$rootScope和$scope是angularJS框架中比较重要的东西,理清它们之间的关系,对我们后续学习和理解angularJS框架都非常有用. 1.$injector其实是一个IOC容器,包含了很多服务(类似于spring框架中的bean),其它代码能够通过       $injector.get("serviceName")的方式,从injector中获取所需要的服务.详情参考这篇文章 2.scope是angularJS中的作用域(其实就是存储数据的地方)

AngularJs学习总结-基本特性

现在的前端项目中基本上都会用到angularjs框架,之前并不了解这个框架,也是因为最近接手的项目,所以打算好好的学习下它.之前都是搞pc端,现在接手的是移动端的项目,移动端UI框架用的是ionic+vordova,没有用bootstrap,主要做的是ios+安卓的app界面,ionic这个框架也不太了解,也需要花时间好好熟悉下.angularjs学习小白一枚,欢迎大神指正. AngularJs是什么? 简单来说,即javascript的一个框架,通过script标签添加到网页中.即我们使用an

AngularJS 指令 表达式 应用

AngularJS 指令 AngularJS 指令是以 ng 作为前缀的 HTML 属性. ng-app 指令 ng-app 指令定义了 AngularJS 应用程序的 根元素. ng-app 指令在网页加载完毕时会自动引导(自动初始化)应用程序. 稍后您将学习到 ng-app 如何通过一个值(比如 ng-app="myModule")连接到代码模块. ng-model 指令 ng-model 指令 绑定 HTML 元素 到应用程序数据. ng-model 指令也可以: 为应用程序数据