指令定义对象--进阶阶段
2015-07-06 18:24
218 查看
指令定义对象
每个指令定义的工厂函数,需要返回一个指令定义对象,编译器/$compile 在编译时就根据这个定义对象对指令进行展开。指令定义对象的常用属性如下:
link
link函数负责实现DOM和scope的数据绑定,通常在link里执行DOM事件监听和数据变化监听。 link函数在template执行后被调用。link是最常用的属性,一个指令的逻辑通常在link函数 里实现。
link函数的形式如下:
function link(scope,iElement,iAttrs,controller,transcludeFn){...}
restrict
可以是EACM这四个字母的任意组合,用来限定指令的应用场景。如果不指定这个属性, 默认情况下,指令将仅允许被用作元素名和属性名:
* E - 元素名,例如:<my-directive></my-directive>
* A - 属性名,例如:<div my-directive="exp"></div>
* C - 类,例如:<div class="my-directive: exp;"></div>
* M - 注释,例如:<!-- directive:my-directive exp -->
template
template是一个HTML片段,可以用来:
* 替换指令的内容。这是默认的行为,可以使用replace属性更改。
* 替换指令本身(如果replace属性设为TRUE的话)。
* 包裹指令的内容(如果transclue属性设为TRUE的话)。
replace
指明是否使用template替换指令元素。
* true - 编译时,将使用template替换指令元素
* false - 编译时,将使用template替换指令元素的内容
相关文章推荐
- LeetCode-Compare Version Numbers解题报告
- poj 2033 Alphacode
- CentOS 5 安装 saltstack
- plupload批量上传分片(后台代码)
- Linux 基础命令知识2
- intellij idea 13&14 插件推荐及快速上手建议
- 新点
- Rails 异常处理 && 性能
- visual studio 2008中 error LNK2005的解决方法
- 1 - 简介
- LeetCode OJ 33 Search in Rotated Sorted Array
- PowerShell创建虚拟机 (一、基本思路与实现代码)
- 90.按要求打印二维数组
- 如何使用 TP中的公共函数 (定义在common/common.php中的函数)
- 阿里巴巴贷款信誉曝光
- DELL R420真机搭建LAMP环境
- DELL R420真机搭建LAMP环境
- NGUI学习总结
- unity5.0利用自带UI制作滚动条
- Android Studio使用笔记(随时添加)