angular学习笔记03 理论加实践
novalidate 属性是在 HTML5 中新增的。禁用了使用浏览器的默认验证。
//augular.js自定义指令
.directive('runoobDirective',function(){
return {
template:'<span>这个是自定义指令!</span>'
};
})
//angular.js的包含,是另一个html文件,也可以是<script>便签</script>
<div ng-include="'myUsers_List.htm'"></div>
angularjs启动生成视图时,会根据ng-app元素同$rootScope进行绑定。$rootScope是所有$scope对象的最上层。
$rootScope相当于JavaScript的全局,使用频繁使用$rootscope是不太好的,相当于污染了全局。
指令通常不会自己创建$scope,但也有例外,例如ng-controller,ng-repeat 指令会创建自己的子作用域,并将它们附加到DOM元素上。
///自定义指令,或组件
<my-directive> </my-directive>
<div my-directive></div>
<div class="my-directive"></div> app.directive('myDirective',function(){
return {
restrict:'EAC',//element , attr(推荐) , class ,m->注释
replace:true,//全部都用template替换
template:'<a href="http://www.baidu.com">click me </a>'
};
})
//模板生成并双向绑定
<label for="">Their URL field: </label>
<input type="text" ng-model="theirUrl"/>
<div my-directive
some-attr = 'theirUrl'
my-link-text = 'click me to go to google'
></div> .directive('myDirective',function(){
return {
restrict:'EAC',//element , attr(推荐) , class ,m->注释
replace:true,//全部都用template替换
scope:{
myUrl: '=someAttr',
myLinkText: '@'
},
template:'<div><label>My Url Field:</label> <input type="text" ng-model="myUrl"/>\
<a href="{{myUrl}}">{{myLinkText}}</a></div>'
};
})
//在angulard代码中可以使用run方法来访问$rootscope
.run(function($rootScope){
$rootScope.rootScope = 'hello word'
})
//ng-if 和ng-show ,ng-hide 的区别是ng-if会真正的移除或生成节点。ng-show 是通过css来显示或隐藏节点。
//ng-repeat 遍历集合
会暴露一些特殊的属性
$index 遍历到第几个值 //值是从0 开始到length-1 ,所以奇数02468,偶数135
$first 遍历到第一个值的时候为true
$middle 遍历处于第一个与最后一个之间的值是为true
$last 遍历到最后一个值的时候为true
$even $index为偶数的时候为true
$odd $index为奇数的时候为true
//ng-init 指令用来设置内部作用域的初始状态. //ng-cloak 也可以避免闪烁
<p ng-cloak>{{name}}</p> //ng-bind-template,用于绑定多个表达式
<p ng-bind-template="{{message}}{{name}}"> //ng-change//输入的值发生改变时触发的事件
<input type="text" ng-model="equation" ng-change="change()"/>
$scope.change= function(){
console.log($scope.equation)
}
//directive 自定义指令的全部属性有
restrict 指定angular指令在dom中以哪种方式声明,默认为a(attr),e(ele),c(class),m(comments),
可以同时指定多个 restrict:'EAMC'
priority 优先级,数字类型 默认为零 (优先级最高的指令是ng-repeat)
terminal 布尔值.比本指令优先级低的指令会停止。同一等级的指令不会被影响
template 字符串或函数,可选,必须有一个(htm文本)或(可以接受两个参数的函数(temement,tattrs))
注意1,如果有多个同等级的标签,必须要有一根标签包含全部的标签
注意2,如果要换行,注意在每一行的后面加上反斜线(推荐使用templateUrl来引入外部的模板)
templateUrl 可选参数1.html文件路径的字符串.2.(可以接受两个参数的函数(temement,tattrs))
replace 布尔值 默认为false.模板默认插入到自定义指令的内部:为true则是直接插入
angular学习笔记03 理论加实践的更多相关文章
- angular学习笔记04 理论加实践
scope: 布尔型或对象(默认为false) ,为true时继承父作用域并创建一个新的作用域隔离作用域具有隔离作用域的指令最主要的使用场景是创建可复用的组件, 组件可以在未知上下文中使用,并且可以避 ...
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- angular学习笔记(三十一)-$location(2)
之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...
- Redis:学习笔记-03
Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...
- thinkphp学习笔记9—自动加载
原文:thinkphp学习笔记9-自动加载 1.命名空间自动加载 在3.2版本中不需要手动加载类库文件,可以很方便的完成自动加载. 系统可以根据类的命名空间自动定位到类库文件,例如定义了一个类Org\ ...
- OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓
本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...
- OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...
- angular学习笔记(三十一)-$location(1)
本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...
- angular学习笔记(三十)-指令(10)-require和controller
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...
随机推荐
- C++ 大多数人将 cin::sync() 视为清除缓存区函数的误用
ps:我发现有网站将我之前写的标题为:C++ 关于大多数人将cin::sync()视为清楚缓冲区函数的错误 的文章转载了,声明一下那篇文章中的内容可能存在错误,本人已删,请注意. 一百度,大多数人 ...
- python之路第二天 随便记记 今天主要很郁闷
为何要有操作系统 为了让程序员更轻松的完成命令电脑工作而存在的,控制硬件,服务于软件. 操作系统的位置 操作系统位于软件和硬件之间.操作系统由内核(运行于内核态,控制硬件)和系统调用(运行于用户态,为 ...
- mysql 时间戳格式化函数FROM_UNIXTIME和UNIX_TIMESTAMP函数的使用说明
我们一般使用字段类型int(11)时间戳来保存时间,这样方便查询时提高效率.但这样有个缺点,显示的时间戳,很难知道真实日期时间. MySQL提供了一个时间戳格式化函数from_unixtime来转换格 ...
- Pandas基础学习与Spark Python初探
摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域 ...
- C / C++ 运行环境搭建教程
C / C++ 运行环境搭建教程 一.实验环境 本机操作系统:Windows 7 64位 虚拟机:VMware Workstation 12 pro 虚拟机操作系统:Linux CentOS 7 二. ...
- [2015-11-23]分享一个批处理脚本,创建iis站点及程序池
建站批处理 batch_createSites.bat @echo off rem 以管理员身份执行本脚本,可添加多条call 以建立多个站点 call path\to\createSites.bat ...
- 本地配置DNS服务器(MAC版)
作为一个前端开发者,会遇到使用cookie的情况,常见的如:登录,权限控制,视频播放,图形验证码等,这时候本地开发者在PC上会使用修改hosts的方式添加指向本地的域名,来获取cookie的同域名.如 ...
- 【Linux部署 · JDK】在linux系统安装jdk
1,检查是否安装jdk echo $JAVA_HOME 或者java -version 2,查看操作系统,很明显这是一个相当old的操作系统,i686是32位操作系统. 3,在oracle ...
- java HashSet改用
写的一个Student类如下: 上面是直接使用的HashSet集合,系统会把new Student() 当做地址不用来出来,所以结果如下: 然后我在Student类中重写了hashCode()和eq ...
- mysql数据库基本操作以及获取数据库强大帮助文档
MySQL数据库强大帮助文档 mysql 中help等价于\h或者? mysql> ? create database;(查看创建数据库的语法) mysql> ? drop databas ...