指令  

概述:

  前面也说过一些常用指令,用于快速入门。现在详细总结一下:指令用于实现各种页面的操作,是对于底层DOM操作的封装,扩展了HTML的行为,实现页面交互以及数据绑定。

  指令是一种执行的信号,一旦发布了指令,就要执行某项动作。就像我们军训的时候,一个口令一个动作。而常用的指令是固定的,如果我们有一些特殊的需要,这时候要自定义指令,没有条件就要自己创造条件嘛。

基本语法: 

  var app=angular.module('myApp',[ ]);

  app.directive(name,fn);

  其中,name是指令名称,使用驼峰命名法。fn是一个函数,它将返回一个对象,在这个对象中,定义了这个新增指令的全部行为。fn返回一个对象,该对象包含几个特有的属性:restrict(指定自定义指令的使用方法AECM),template(该指令实际对应的HTML内容)。

如何使用:

  E:<ts-hello></ts-hello>     (定义指令的时候,必须是驼峰式,调用时:前部分+‘-’+后部分(不用首字母大写))

  A:<div ts-hello></div>

  C: <div class='ts-hello'></div>
  M: <!-- directive:ts-hello     (replace:true)

带参的自定义指令:

  只需要在第二个参数返回时候,加上scope,指定对象 对象的名字testName,值‘@’

练习:自定义指令以及传参,显示hello angularJs

 <!DOCTYPE html>
 <html ng-app="myApp">
 <head lang="en">
   <meta charset="UTF-8">
   <title></title>
   <script src="js/angular.js"></script>
 </head>
 <body ng-controller="myCtrl">
 <!--通过以元素的方式 调用自定义指令-->
 <my-directive ts-name="Hello AngularJs"></my-directive>
 <!--扩展属性-->
 <div my-directive ts-name="Hello AngularJs"></div>
 <!--class-->
 <div class="my-directive" ts-name="Hello AngularJs"></div>

 <script>
 //模块的声明
   var app = angular.module('myApp',['ng']);
 //自定义指令
 //  E-->Element A-->Attribute  C-->Class M-->Comment
   app.directive('myDirective', function () {
     return{
       restrict:'EACM',
       replace:true,
 //    通过双花括号 显示tsName值
       template:'<p>{{tsName}}</p>',
 //    通过@读取
       scope:{
         tsName:'@'
       }
     }
   });
     //控制器的声明
   app.controller('myCtrl', function ($scope) {

   });
 </script>
 </body>
 </html>

AngularJs学习笔记3——自定义指令的更多相关文章

  1. AngularJS学习笔记(四) 自定义指令

    指令(directive)是啥?简单来说就是实现一定功能的XXX...之前一直用的ng-model,ng-click等等都是指令.当我有一个ng没提供的需求的时候,就可以自定义个指令.指令的好处显而易 ...

  2. AngularJs学习笔记5——自定义服务

    前面整理了AngularJs双向数据绑定和自定义指令的相关内容,从手册上看也知道,ng部分还包括过滤器和函数,以及服务等. 过滤器:filter,就是对数据进行格式化,注意管道格式,例如: {{表达式 ...

  3. 【AngularJS学习笔记】01 指令、服务和过滤器

    AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 比如: ng-app 指令初始化一个 AngularJS 应用程序.注意ng-app一般为空,如果值不为空,就得加这样一句代码va ...

  4. AngularJs学习笔记--Forms

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...

  5. AngularJs学习笔记--html compiler

    原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...

  6. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

  7. AngularJS学习笔记2——AngularJS的初始化

    本文主要介绍AngularJS的自动初始化以及在必要的适合如何手动初始化. Angular <script> Tag 下面通过一小段代码来介绍推荐的自动初始化过程: <!doctyp ...

  8. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  9. AngularJs学习笔记--Managing Service Dependencies

    原版地址:http://docs.angularjs.org/guide/dev_guide.services.managing_dependencies angular允许service将其他ser ...

随机推荐

  1. Linux进程调度与切换

    2016-04-15 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.分析 进程调度的时机与进程 ...

  2. Maven初识

    说说maven,我们每做一个项目,都要往lib目录扔很多jar包,spring的啊hibernate的啊apache的啊等等,这样就会导致很多包不知从哪个角落下载回来的,名称千奇百怪,版本也不明,项目 ...

  3. NET下三种缓存机制(Winform里面的缓存使用 )

    原文(http://www.cnblogs.com/wuhuacong/p/3526335.html)非常感谢伍华聪作者的分享! 缓存在很多情况下需要用到,合理利用缓存可以一方面可以提高程序的响应速度 ...

  4. FileGeodatabase和PersonalGeodatabase与ArcSDEGeodatabase三种数据库比较.

  5. ORACLE之SQL语句内部解析过程【weber出品】

    一.客户端通过监听连接到数据库,数据库开启一个server process进程来接收客户端传过来的sql. 1.这条sql语句从来都没有被执行过.(硬解析) 2.这条sql语句被执行过.(软解析) 二 ...

  6. C#--方法的参数类型

    在C#中,方法的参数类型有四种: 值类型 引用类型 输出类型 数组型参数 值参数: 所谓值参数,就是利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并将此拷贝传递给该方法,这样做的结果就是被调用 ...

  7. cas+tomcat+shiro实现单点登录-4-Apache Shiro 集成Cas作为cas client端实现

    目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...

  8. hook技术分类

    1.HOOK SERVICE TABLE:HOOK SSDT 这种方法对于拦截 NATIVE API 来说用的比较多. SSDT hook,一句话——Windows把需要调用的内核API地址全都存在了 ...

  9. 复习css3的部分属性

    利用css3实现一个半月形的西瓜,利用queue实现吃西瓜的动画.练习例子 css3: 1.圆角 border-radius:100%; border-top-left-radius:5px; 2.变 ...

  10. Android网络框架比较

    今天,公司需要为一个安卓app选择一个合适的网络框架,具体我了解,主要的安卓网络框架有okhttp,retrofit,android-async-http,volley. 查找网上的资料,大致可以得到 ...