AngularJs学习笔记3——自定义指令
指令
概述:
前面也说过一些常用指令,用于快速入门。现在详细总结一下:指令用于实现各种页面的操作,是对于底层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——自定义指令的更多相关文章
- AngularJS学习笔记(四) 自定义指令
指令(directive)是啥?简单来说就是实现一定功能的XXX...之前一直用的ng-model,ng-click等等都是指令.当我有一个ng没提供的需求的时候,就可以自定义个指令.指令的好处显而易 ...
- AngularJs学习笔记5——自定义服务
前面整理了AngularJs双向数据绑定和自定义指令的相关内容,从手册上看也知道,ng部分还包括过滤器和函数,以及服务等. 过滤器:filter,就是对数据进行格式化,注意管道格式,例如: {{表达式 ...
- 【AngularJS学习笔记】01 指令、服务和过滤器
AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 比如: ng-app 指令初始化一个 AngularJS 应用程序.注意ng-app一般为空,如果值不为空,就得加这样一句代码va ...
- AngularJs学习笔记--Forms
原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...
- AngularJs学习笔记--html compiler
原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...
- AngularJs学习笔记--concepts(概念)
原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...
- AngularJS学习笔记2——AngularJS的初始化
本文主要介绍AngularJS的自动初始化以及在必要的适合如何手动初始化. Angular <script> Tag 下面通过一小段代码来介绍推荐的自动初始化过程: <!doctyp ...
- angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令
在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...
- AngularJs学习笔记--Managing Service Dependencies
原版地址:http://docs.angularjs.org/guide/dev_guide.services.managing_dependencies angular允许service将其他ser ...
随机推荐
- [Redux] React Todo List Example (Toggling a Todo)
/** * A reducer for a single todo * @param state * @param action * @returns {*} */ const todo = ( st ...
- Java调用天气Webservice的小应用
废话不多说,直接贴代码: CityReq.java package com.weather; import javax.xml.bind.annotation.XmlElement; import j ...
- Android模块化编程之引用本地的aar
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好.针对Android开发最常见的就是Android Libra ...
- 网页JavaScript
用法. JavaScript一般用于 head , body , </html> 之后. 格式<script language="javascript"> ...
- VS2013服务器资源管理器添加Mysql数据源
如何为VS2013服务器资源管理器添加Mysql数据源,如图: 接下来就看下如何添加 1.需要下载安装Mysql for Visual Studio 1.1.1 下载位置:http://downloa ...
- Ajax--WebService返回List
WebService: using System.Web.Script.Services; [GenerateScriptType(typeof(people))] [WebMethod] publi ...
- .net Signalr 使用笔记
官方参考地址:http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host 1.服务器端可以是控制台.winfor ...
- 在Yii2中使用Pjax导致Yii2内联脚本载入失败的问题
当我用defunkt/jquery-pjax载入Yii2的ActiveForm时发生一个错误,正常情况下是 ActiveForm的两个js应该先载入,而实际情况是 typeError:JQuery(. ...
- java并发编程_建立概念
在学习多线程编程时,相信大家会遇到好多概念类的东西,对于这些概念的不准确理解会导致后面越学越糊涂,现将学习过程中遇到的概念整理到这篇博客上,一来记录学习点滴,二来也加深理解,如果有理解不准确的地方,希 ...
- Membership添加验证码登录
1.在公共类ImageHelper中编写公共方法,产生随机验证码 /// <summary> /// 产生随机验证码 /// </summary> /// <return ...