Angular指令学习
来源:互联网 发布:电脑网络共享怎么取消 编辑:程序博客网 时间:2024/05/16 10:54
指令概览
指令本质上就是AngularJS扩展具有自定义功能的HTML元素的途径.
指令详解
指令的全部设置选项:
angular.module('myApp', []) .directive('myDirective', function() { return { //指令在DOM中以何种方式声明 A:属性(默认) E:元素 C:类名 M:注释(少用) restrict: String, //在同一个元素上的指令调用顺序 priority: Number, //设为false时,同一元素上比该指令优先级低的指令不再执行 terminal: Boolean, //HTML文本或模板函数 template: String or Template Function: function(tElement, tAttrs) (...}, //HTML文件路径 templateUrl: String, //默认false,true时取代元素 replace: Boolean or String, //值为false时:我们创建的指令和父作用域共享一个model模型;值为true时: 创建新作用域初始化为父作用域 ,与父作用域不是同一个作用域;在指令已声明parentName的情况下,父域parentName变更,指令中parentName不会发生变化。在指令未声明parentName的情况下,父域的parentName变更,指令中parentName也会刷新;值为 {}时: 创建隔离作用域 ,需要使用绑定与外部交互。 scope: Boolean or Object, //true时将指令内部的元素嵌入到模板内ng-transclude处 transclude: Boolean, //设置各个作用域scope controller: String or function(scope, element, attrs, transclude, otherInjectables) { ... }, controllerAs: String, //指令获得外部其他指令的控制器 require: String, //用link函数创建可以操作DOM的指令 link: function(scope, iElement, iAttrs) { ... }, // 返回一个对象或连接函数, compile: function(tElement, tAttrs, transclude) { return { pre: function(scope, iElement, iAttrs, controller) { ... }, post: function(scope, iElement, iAttrs, controller) { ... } } };});
向指令中传递数据(scope={})
最简单的方法就是使用指令所属的控制器提供的已经存在的作用域。缺点:如果控制器被移除,或者控制器中有相同的属性名,我们都必须得修改代码。
AngularJS通常作法是创建一个新的子作用域或者隔离作用域来解决这个问题。通过将作用域内部的属性someProperty与DOM中的some-Property属性绑定来传值。
<div my-directivesome-property="something"></div>...scope: {someProperty: '@' //someProperty与some-Property绑定}
<div my-directivesome-attr="something"></div>...scope: {someProperty: '@someAttr' //someProperty与some-attr绑定}
绑定策略:@:单向,指令内部作用域可以使用外部作用域的变量
=:双向
&:绑定父作用域函数
0 0
- Angular指令学习
- Angular指令学习-简单介绍
- Angular JS1学习笔记之一指令
- angular学习整理(二)---指令
- Angular.js之指令学习笔记
- angular学习笔记(三十)-指令(4)-transclude
- angular指令
- angular指令
- angular指令
- Angular 指令
- angular.js学习(1)--指令执行机制
- angular.js学习(1)--指令之间的交互--动感超人
- angular.js学习(1)--directive指令独立scope
- angular.js学习(2)--服务和指令
- angular指令和自定义指令
- angular指令学习(三)--自定义指令之compile、link的学习
- angular 自定义指令
- Angular.js 指令 & Controller
- BufferedReader和BufferedWriter 乱码
- findMedianSortedArrays
- 网页自定义字体使用 @font-face
- 补作2
- 关于sublimetext3中文乱码问题的解决方法
- Angular指令学习
- IntellJ IDEA常用快捷键大全
- MySQL配置单独放到一个文件中
- hihoCoder1040 : 矩形判断
- JDK/SDK
- swagger 注释
- smart_pointer
- 程序员面试金典——集合的子集______
- Go语言的结构嵌入问题