AngularJS中的DOM与事件

  前 言

AngularJS中的DOM与事件

  AngularJS 为 HTML DOM 元素的属性提供了绑定应用数据的指令。

 ng-disabled="true/false" 传入true表示禁用,传入false表示可用

代码:

	<label>
		<input type="checkbox" ng-model="myCheck" />是否同意
		</label>
		<button ng-disabled="!myCheck">按钮</button>
		<p>{{myCheck}}</p>
		<hr />

 效果:

 

ng-show是否显示 传入true显示false隐藏

代码:

<label>
        <input type="checkbox" ng-model="myShow" />是否显示
        </label>
        <p ng-show="myShow">我显示出来啦!!!</p>
        <hr />

 效果:

ng-hide 是否隐藏

<label>
        <input type="checkbox" ng-model="myHide" />是否隐藏
        </label>
        <p ng-hide="myHide">我显示出来啦!!!</p>
        <hr />

ng-if:是否移除元素,当传入true显示,传入false移除

效果与ng-show相同,但是ng-show和ng-hide只是隐藏元素,而ng-if是将元素直接从DOM中移除

<label>
        <input type="checkbox" ng-model="myIf" />是否移除?
        </label>
        <p ng-if="!myIf">我显示出来啦!!!</p>

        <hr />

在console中显示效果

ng-bind-html :相当于innerHTML,而ng-bind 相当于 innerText

注意,要使用ng-bind-html,必须导入angular-sanitize.js文件进行安全验证,同时需要在声明模块的时候,在数组中注入安全验证 模块‘naSanitize‘

<div ng-bind-html="html"></div>
<script src="js/angular-sanitize.js"></script>
<script>
    angular.module("app",[‘ngSanitize‘])
</script>

ng-checked 设置复选框或单选框的选中状态 传入true设置当前复选框被选中

 <input type="checkbox" ng-model="all"> Check all<br><br>
 <input type="checkbox" ng-checked="all">Volvo<br>
 <input type="checkbox" ng-checked="all">Ford<br>
 <input type="checkbox" ng-checked="all">Mercedes

ng-class: 用于设置给元素添加class类

可选值:

①可以是字符串表示直接给元素添加对应的class。多个class之间用空格分隔

②可以是对象。对象的键表示class名字,对象的值为true或false,当值为true时表示添加对应的class

③可以是数组,数组中的值可以是字符串或对象,判断同上。

            <div ng-class="‘div‘">这是一个div</div>
            <label>
            <input type="checkbox" ng-model="myClass" />给div添加样式
            </label>
            <div ng-class="{‘div‘:myClass,‘div1‘:!myClass}">这是一个div</div>
            <div ng-class="[{‘div‘:myClass,‘div1‘:!myClass},‘div3‘]">这是一个div</div>
<style>
            .div{
                width:200px;
                height: 200px;
                background-color: red;
            }
            .div1{
                width:200px;
                height: 200px;
                background-color: green;
            }
            .div3{
                color:blue;
            }
        </style>

ng-switch 根据变量 的值,选择不同的ng-switch-when来显示,当没有合适的选项时,显示ng-switch-default

 我喜欢的网站
        <select ng-model="myVar">
          <option value="aaaa">切回默认状态!
          <option value="runoob">www.runoob.com
          <option value="google">www.google.com
          <option value="taobao">www.taobao.com
        </select>
        <hr>
        <div ng-switch="myVar">
          <div ng-switch-when="runoob">
             <h1>菜鸟教程</h1>
             <p>欢迎访问菜鸟教程</p>
          </div>
          <div ng-switch-when="google">
             <h1>Google</h1>
             <p>欢迎访问Google</p>
          </div>
          <div ng-switch-when="taobao">
             <h1>淘宝</h1>
             <p>欢迎访问淘宝</p>
          </div>
          <div ng-switch-default>
             <h1>切换</h1>
             <p>选择不同选项显示对应的值。</p>
          </div>
        </div>
        <hr>

ng-click 定义AngularJS的点击事件ng-click 只能触发绑定在AngularJS作用域上面的属性和方法

AngularJS 中的事件AngularJS 中的事件只能触发绑定在AngularJS作用域上面的属性和方法

<button ng-click="func()">点我弹个窗</button>
        <button ng-mouseover="func()">点我弹个窗</button>
        <button ng-mouseout="func()">点我弹个窗</button>
        <input type="text" ng-keydown="keyDown()">
        <input type="text" ng-foucus=""><!--获得焦点-->
        <input type="text" ng-blur=""><!--丢失焦点-->
        <input type="text" ng-change=""><!--内容被改变-->

        <script src="js/angular.js"></script>
        <script src="js/angular-sanitize.js"></script>
        <script>

            angular.module("app",[‘ngSanitize‘])
            .controller("ctrl",function($scope){
                $scope.func=function(){
                alert(12)
            }
                $scope.keyDown=function(){
                    console.log(event.keyCode==13)
                }
            })

        </script>

控制台可看到按回车时是true,其他键是false

时间: 2024-12-24 17:26:27

AngularJS中的DOM与事件的相关文章

AngularJS中的DOM value与view value

在看AngularJS的文档的时候经常会见到三个名词:DOM value.view value和model value. model value是模型值,view value是视图值,可这个DOM value是什么呢? 之前,我一直以为DOM value就是view value,他们两个是相同的.可是随着看的文档越来越多,我发现我越来越糊涂了:他们两个不是一样吗,为什么文档中一会儿DOM value,一会儿又是view value呢? 有了上面的疑问,所以就有了下面的内容. 废话不多说,看代码:

js中 关于DOM的事件操作

一.JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元素的API.比如让盒子移动.变色.轮播图等. BOM:浏览器对象模型,操作浏览器部分功能的API.比如让浏览器自动滚动. 二.事件 JS是以事件驱动为核心的一门语言. 事件的三要素 事件的三要素:事件源.事件.事件驱动程序. 比如,我用手去按开关,灯亮了.这件事情里,事件源是:手

Angularjs中的事件广播-浅谈$broadcast,$emit,$on

Angularjs中不同作用域之间可以通过组合使用$broadcast,$emit,$on的事件广播机制来进行通信 介绍: $broadcast的作用是将事件从父级作用域传播至子级作用域,包括自己.格式如下:$broadcast(eventName,args) $emit的作用是将事件从子级作用域传播至父级作用域,包括自己,直至根作用域.格式如下:$emit(eventName,args) $on用于在作用域中监控从子级或父级作用域中传播的事件以及相应的数据.格式如下:$on(event,dat

关于AngularJs中监听事件及脏循环的理解

可能很多刚入行或者刚学习的前端对于AngularJs中的一些事件或者概念感觉不理解或者没有思路,今天让我们一起来剖析一下AngularJs中的一些事件. AngularJs中对于的监听事件会用到一个scope函数$watch,它包含了三个参数,首先我们在概念上来了解一下: $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEquality); 每个参数的说明如下: watchE

Angularjs中的事件广播 —全面解析$broadcast,$emit,$on

Angularjs中不同作用域之间可以通过组合使用$broadcast,$emit,$on的事件广播机制来进行通信 介绍: $broadcast的作用是将事件从父级作用域传播至子级作用域,包括自己.格式如下:$broadcast(eventName,args) $emit的作用是将事件从子级作用域传播至父级作用域,包括自己,直至根作用域.格式如下:$emit(eventName,args) $on用于在作用域中监控从子级或父级作用域中传播的事件以及相应的数据.格式如下:$on(event,dat

JS的三种使用方式/CSS的三种使用方式/JS中的DOM事件模型/JS中匿名函数的书写及调用/媒体查询@media的三种使用方式

一.JS的三种使用方式 1.html标签中内嵌JS(不提倡使用.)                <button onclick="javascript:alert('你真点啊.')" > 有本事点我呀!!!!</button>                                2.HTML页面中直接使用JS:                <script type="text/javascript">        

AngularJs中的directives(指令)

一.指令的职责   指令的职责是修改DOM结构,并将作用域和DOM连接起来.即指令既要操作DOM,将作用域内的数据绑定到DOM节点上,又要为DOM绑定事件调用作用域内的对应的方法. 二.创建自定义指令 调用自定义指令的4种方式:元素.属性.样式类.注释. 常用的是前两种,实例如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title>

angularJS中的$apply(),$digest(),$watch()

$apply()和$digest()在AngularJS中是两个核心概念,但是有时候它们又让人困惑.而为了了解AngularJS的工作方式,首先需要了解$apply()和$digest()是如何工作的. $apply()和$digest() AngularJS提供了一个非常酷的特性叫做双向数据绑定(Two-way Data Binding),这个特性大大简化了我们的代码编写方式.数据绑定意味着当View中有任何数据发生了变化,那么这个变化也会自动地反馈到scope的数据上,也即意味着scope模

AngularJs中,如何在render完成之后,执行Js脚本

http://www.cnblogs.com/JustRun1983/p/3936371.htm AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点: MVC, 模块化,自动化双向数据绑定,语义化标签.依赖注入等. AngularJs和Jquery的有什么不同? Jquery的主要目的是简化Js编写,专注于浏览器跨平台,主要用来操作DOM.Angu