Angular JS

AngularJS 指令:

[ng-app]
定义应用程序的根元素。

[ng-bind]
绑定 HTML 元素到应用程序数据

[ng-bind-html]
绑定 HTML 元素的 innerHTML 到应用程序数据,并移除 HTML 字符串中危险字符

[ng-bind-template]
规定要使用模板替换的文本内容

[ng-blur]
规定 blur 事件的行为

[ng-change]
规定在内容改变时要执行的表达式

[ng-checked]
规定元素是否被选中

[ng-class]
指定 HTML 元素使用的 CSS 类

[ng-class-even]
类似 ng-class,但只在偶数行起作用

[ng-class-odd]
类似 ng-class,但只在奇数行起作用

[ng-click]
定义元素被点击时的行为

[ng-cloak]
在应用正要加载时防止其闪烁

[ng-controller]
定义应用的控制器对象

[ng-copy]
规定拷贝事件的行为

[ng-csp]
修改内容的安全策略

[ng-cut]
规定剪切事件的行为

[ng-dblclick]
规定双击事件的行为

[ng-disabled]
规定一个元素是否被禁用

[ng-focus]
规定聚焦事件的行为

ng-form指定 HTML 表单继承控制器表单

[ng-hide]
隐藏或显示 HTML 元素

[ng-href]
为 a 元素指定链接

[ng-if]
如果条件为 false 移除 HTML 元素

[ng-include]
在应用中包含 HTML 文件

[ng-init]
定义应用的初始化值

[ng-jq]
定义应用必须使用到的库,如:jQuery

[ng-keydown]
规定按下按键事件的行为

[ng-keypress]
规定按下按键事件的行为

[ng-keyup]
规定松开按键事件的行为

[ng-list]
将文本转换为列表 (数组)

[ng-model]
绑定 HTML 控制器的值到应用数据

[ng-model-options]
规定如何更新模型

[ng-mousedown]
规定按下鼠标按键时的行为

[ng-mouseenter]
规定鼠标指针穿过元素时的行为

[ng-mouseleave]
规定鼠标指针离开元素时的行为

[ng-mousemove]
规定鼠标指针在指定的元素中移动时的行为

[ng-mouseover]
规定鼠标指针位于元素上方时的行为

[ng-mouseup]
规定当在元素上松开鼠标按钮时的行为

[ng-non-bindable]
规定元素或子元素不能绑定数据

[ng-open]
指定元素的 open 属性

[ng-options]
在 <select> 列表中指定 <options>

[ng-paste]
规定粘贴事件的行为

[ng-pluralize]
根据本地化规则显示信息

[ng-readonly]
指定元素的 readonly 属性

[ng-repeat]
定义集合中每项数据的模板

[ng-selected]
指定元素的 selected 属性

[ng-show]
显示或隐藏 HTML 元素

[ng-src]
指定 img 元素的 src 属性

[ng-srcset]
指定 img 元素的 srcset 属性

[ng-style]
指定元素的 style 属性

[ng-submit]
规定 onsubmit 事件发生时执行的表达式

[ng-switch]
规定显示或隐藏子元素的条件

[ng-transclude]
规定填充的目标位置

[ng-value]
规定 input 元素的值

创建自定义的指令

除了 AngularJS 内置的指令外,我们还可以创建自定义指令。
你可以使用 .directive 函数来添加自定义的指令。
要调用自定义指令,HTML 元素上需要添加自定义指令名。
使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive:

<body ng-app="myApp">
<runoob-directive></runoob-directive>
<script>
      var app = angular.module("myApp", []);
      app.directive("runoobDirective", function() {
      return {
        template : "<h1>自定义指令!</h1>"
   };
});
</script>
</body>
angular自定义指令的两种写法:

1.上面这种,感觉更清晰明确一点。

 angular.module('myApp',[]).directive('zl1',[ function(){
  return {
    restrict:'AE',
    template:'thirective',
    link:function($scope,elm,attr,controller){
      console.log("这是link");
  },
    controller:function($scope,$element,$attrs){
       console.log("这是con");
    }
  };
}]).controller('Con1',['$scope',function($scope){
    $scope.name="aliceqqq";
}]);

2.还有指令配置项的:link controller等在项目运用中有遇到过:

angular.module('myApp', []).directive('first', [ function(){
  return {
    // scope: false, // 默认值,共享父级作用域
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    template: 'first name:{{name}}',
};
}]).directive('second', [ function(){
return {
    scope: true, // 继承父级作用域并创建指令自己的作用域
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    //当修改这里的name时,second会在自己的作用域中新建一个name变量,与父级作用域中的
    // name相对独立,所以再修改父级中的name对second中的name就不会有影响了
    template: 'second name:{{name}}',
};
}]).directive('third', [ function(){
return {
    scope: {}, // 创建指令自己的独立作用域,与父级毫无关系
    // controller: function($scope, $element, $attrs, $transclude) {},
    restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment
    template: 'third name:{{name}}',
};
}])
.controller('DirectiveController', ['$scope', function($scope){
$scope.name="mike";
}]);

限制使用

你可以限制你的指令只能通过特定的方式来调用。
通过添加 restrict 属性,并设置只值为 "A", 来设置指令只能通过属性的方式来调用:

var app = angular.module("myApp", []);
app.directive("runoobDirective", function() {
 return {
    restrict : "A",
    template : "<h1>自定义指令!</h1>"
   };
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容