$sanitize和$sce服务的使用方法

$sanitize会把标签的属性都移除,以及绑定在元素上的事件.仅保留了标签和内容

$q服务的使用
1. 创建一个Service,去服务器读取数据:

2. 在Controller上(以同步方式)使用这个Service:

angular多个控制器如何共享数据 

多个控制器之间共享数据,通常两种方式:

第一种是在控制器里通过$scope.$$prevSibling或$scope.$$nextSibling获得另一个控制器的作用域对象。(这种共享数据的方法不推荐,应该使用服务来共享数据)

第二种是通过服务的方式,也是推荐的方式,不过值得注意的是,这两种方式的原理都是 利用对象的赋值是通过指针引用的

 在模块中定义服务

angular的$http配置属性

$http请求的配置对象

$http()接受的配置对象可以包含以下属性:

  method: http请求方式,可以为GET,DELETE,HEAD,JSONP,POST,PUT

  url: 字符串,请求的目标

  params: 字符串或者对象,会被转换成为查询字符串追加的url后面

  data: 在发送post请求时使用,作为消息体发送到服务器

  headers: 一个列表,每个元素都是一个函数,返回http头

  xsrfHeaderName(字符串):保存XSFR令牌的http头的名称

  xsrfCookieName: 保存XSFR令牌的cookie名称

  transformRequest: 函数或者函数数组,用来对http请求的请求体和头信息进行转换,并返回转换后的结果。

  transformResponse: 函数或者函数数组,用来对http响应的响应体和头信息进行转换,并返回转换后的结果。

  cache: 布尔类型或者缓存对象,设置之后angular会缓存get请求。

  timeout:数值,延迟请求

  responseType:字符串,响应类型。可以为arraybuffer, blob,document,json, text, moz-blob, moz-chunked-text, moz-chunked-arraybuffer

$http请求的响应对象

angular传递给then方法的响应对象包括以下几个属性

  data: 转换之后的响应体

  status: http响应状态码

  headers: 头信息

  config: 生成原始请求的设置对象

  statusText: http响应状态的文本

 封装第三方jquery插件

自己编写 directive 的情况通常是当你使用了第三方的 jQuery 插件,因为插件在 AngularJS 之外对表单值进行更改,并不能即时反应到 Model 中。

例如,我们用得比较多的 jQueryUI datepicker 插件,当你选中一个日期后,插件会将日期字符串填到 input 输入框中。View 改变了,却并没有更新 Model,因为$('.datepicker').datepicker(); 这段代码不属于 AngularJS 的管理范围。

我们需要编写一个directive 来让 DOM 的改变即时更新到 Model 里。

然后在 HTML 中引入这个 directive

<input type="text" datepicker ng-model="myObject.myDateValue" />

AngularJS操作DOM - angular.element

  addClass()-为每个匹配的元素添加指定的样式类名
  after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点
  append()-在每个匹配元素里面的末尾处插入参数内容
  attr() - 获取匹配的元素集合中的第一个元素的属性的值
  bind() - 为一个元素绑定一个事件处理程序
  children() - 获得匹配元素集合中每个元素的子元素,选择器选择性筛选
  clone()-创建一个匹配的元素集合的深度拷贝副本
  contents()-获得匹配元素集合中每个元素的子元素,包括文字和注释节点
  css() - 获取匹配元素集合中的第一个元素的样式属性的值
  data()-在匹配元素上存储任意相关数据
  detach()-从DOM中去掉所有匹配的元素
  empty()-从DOM中移除集合中匹配元素的所有子节点
  eq()-减少匹配元素的集合为指定的索引的哪一个元素
  find() - 通过一个选择器,jQuery对象,或元素过滤,得到当前匹配的元素集合中每个元素的后代
  hasClass()-确定任何一个匹配元素是否有被分配给定的(样式)类
  html()-获取集合中第一个匹配元素的HTML内容
  next() - 取得匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合。如果提供一个选择器,那么只有紧跟着的兄弟元素满足选择器时,才会返回此元素
  on() - 在选定的元素上绑定一个或多个事件处理函数
  off() - 移除一个事件处理函数
  one() - 为元素的事件添加处理函数。处理函数在每个元素上每种事件类型最多执行一次
  parent() - 取得匹配元素集合中,每个元素的父元素,可以提供一个可选的选择器
  prepend()-将参数内容插入到每个匹配元素的前面(元素内部)
  prop()-获取匹配的元素集中第一个元素的属性(property)值
  ready()-当DOM准备就绪时,指定一个函数来执行
  remove()-将匹配元素集合从DOM中删除。(同时移除元素上的事件及 jQuery 数据。)
  removeAttr()-为匹配的元素集合中的每个元素中移除一个属性(attribute)
  removeClass()-移除集合中每个匹配元素上一个,多个或全部样式
  removeData()-在元素上移除绑定的数据
  replaceWith()-用提供的内容替换集合中所有匹配的元素并且返回被删除元素的集合
  text()-得到匹配元素集合中每个元素的合并文本,包括他们的后代
  toggleClass()-在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类
  triggerHandler() -为一个事件执行附加到元素的所有处理程序
  unbind() - 从元素上删除一个以前附加事件处理程序
  val()-获取匹配的元素集合中第一个元素的当前值
  wrap()-在每个匹配的元素外层包上一个html元素

 

angualrjs 总结 随记(三)的更多相关文章

  1. Java入门记(三):初始化顺序

    初始化顺序的规则 1.在一个类的对象实例化时,成员变量首先初始化,然后才调用构造器,无论书写顺序.如果调用构造器前,没有显式初始化,那么会赋默认值. 这样做法的原因可以理解为:构造器执行时可能会用到一 ...

  2. 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。

    在本人的博客里,分享了有关中值模糊的O(1)算法,详见:任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理.实现及效果 ,这里的算法的执行时间和参数是无关的.整体来说,虽然速度也很快, ...

  3. MVC4学习要点记三

    一.数据迁移用来解决code first情况下当增加.删除.改变实体类,或改变DbContext类后,相应地更新数据库结构而不会对现有数据产生影响. 1.启用迁移指令:enable-migration ...

  4. angualrjs 总结 随记(一)

    $apply方法的作用 $apply方法是用来触发脏检查,它在控制器里监听一个变量,每当这个变量的值改变的时候,它会去与最初的值做一次比较,然后HTML页面就会及时更新该变量的值(将最新的值赋值到ht ...

  5. crm踩坑记(三)

    React 如何同步更新state 由于setState方法是异步的,而通常很多时候在一个生命周期里更新state后需要在另一个生命周期里使用这个state. 下面介绍几个方法 // 1 this.s ...

  6. (NO.00003)iOS游戏简单的机器人投射游戏成形记(三)

    接下来我们建立机器人对象. 在Sprites文件夹中新建Robot.ccb文件,类型为Node. 打开SpriteBuilder的Tileless View将机器人身体和手臂拖入根节点,调整好相对的位 ...

  7. (NO.00001)iOS游戏SpeedBoy Lite成形记(三十):增加排行榜功能3

    在这个例子中,我们的显示代码只需要选手的名字以及对应的成绩.根据选手名字取对应的成绩可以用前面实现的playerRecord:方法,我们只需要将按照成绩排序后的选手名字返回就可以了. 我只需要再实现一 ...

  8. (NO.00001)iOS游戏SpeedBoy Lite成形记(三)

    在Xcode中建立新类Player,继承自CCSprite.因为我们之后需要方便的更换玩家的大头贴,所以需要能够以不同的大头贴参数初始化Player对象. 不过别急,想想我们还需要在Player对象初 ...

  9. SQL随记(三)

    1.关于package: 包的作用:可以将任何出现在块声明的语句(过程,函数,游标,游标,类型,变量)放入包中,相当于一个容器. 包的好处:在包中的(过程,函数,游标,游标,类型,变量)相当于sql/ ...

随机推荐

  1. OSCACHE介绍

    Cache是一种用于提高系统响应速度.改善系统运行性能的技术.尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能.本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能 ...

  2. Spring Boot 鉴权之—— JWT 鉴权

    第一:什么是JWT鉴权 1. JWT即JSON Web Tokens,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),他可以用来安全的传递信息,因为传递的信息是 ...

  3. Python---6条件判断与循环

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  4. fiddler 针对单个接口打断点

    在命令行输入相关指令: 以慕课网为例: 请求前设置断点:bpu 实例: bpu https://www.imooc.com/index/getstarlist 请求 https://www.imooc ...

  5. Redis(1)——5种基本数据结构

    一.Redis 简介 "Redis is an open source (BSD licensed), in-memory data structure store, used as a d ...

  6. 阿里云ESC学生服务器搭建springboot项目生产环境(Mysql+JDK)不需要上传安装包

    嗯,之前服务器被挖矿的病毒弄的登录不进去了,所以联系了阿里云客服,提交工单,最后建议重置,所以我就重置了, 嗯,学习经验,docker如果懂的不是太多,不要随便云部署,都给别人挖矿了.   Mysql ...

  7. OLE DB访问接口“MICROSOFT.JET.OLEDB.4.0”配置为在单线程单位模式下运行,所以该访问接口无法用于分布式

    OLE DB访问接口"MICROSOFT.JET.OLEDB.4.0"配置为在单线程单位模式下运行,所以该访问接口无法用于分布式 数据库操作excel时遇到的以上问题的解决方法 解 ...

  8. 关于地址栏url的一些小结

    1.获取整个地址栏地址 //获取整个地址栏地址 var href = window.location.href; console.log(href); 以上代码就是获取整个url地址 2.获取url协 ...

  9. Java基础--面向对象(上)

    一.面向对象的概念 1.什么是面向对象? (1)面向对象是一种符合人类思维习惯的编程思想. (2)面向对象是一种思考问题的思维方式. 2.三种特性: (1)封装性 (2)继承性 (3)多态性 3.建立 ...

  10. MySQL数据库无完整备份删库,除了跑路还能怎么办?

    1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失. 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与 ...