angular.js路由功能

用于实现单页应用

//html 代码
<div ng-view></div> //js代码
angular.module('myM1',['ng','ngRoute'])
.config(['$routeProvider',function($routeProvider){
$routeProvider
.when('/',{template:'这是首页页面'})
.when('/computers',{template:'这是电脑分类页面'})
.when('/printers',{templateUrl:'printers.html'})
.otherwise({redirectTo:'/'});
}])

angular.js自定义指令

app.directive('runoobDirective',function(){
return {
template:'<span>这个是自定义指令!</span>'
};
})

angular.js包含外部html文件

<div ng-include="'myUsers_List.htm'"></div>

angular.js   ng-app指令意义

<html ng-app>

angularjs启动生成视图时,会根据ng-app元素同$rootScope进行绑定。$rootScope是所有$scope对象的最上层。
$rootScope相当于JavaScript的全局,使用频繁使用$rootscope是不太好的,相当于污染了全局。

指令通常不会自己创建$scope,但也有例外,例如ng-controller,ng-repeat 指令会创建自己的子作用域,并将它们附加到DOM元素上。

angular.js自定义指令,模块

///自定义指令,或组件
<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>'
};
})

angular.js动态生成并双向数据绑定

//模板生成并双向绑定
<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>'
};
})

全局rootscope如何访问

//在angulard代码中可以使用run方法来访问$rootscope

app.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学习笔记01的更多相关文章

  1. angular学习笔记(三十)-指令(10)-require和controller

    本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...

  2. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  3. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  4. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  5. angular学习笔记(三十)-指令(7)-compile和link(2)

    继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...

  6. angular学习笔记(三十)-指令(7)-compile和link(1)

    这篇主要讲解指令中的compile,以及它和link的微妙的关系. link函数在之前已经讲过了,而compile函数,它和link函数是不能共存的,如果定义了compile属性又定义link属性,那 ...

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

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

  8. angular学习笔记(三十)-指令(5)-link

    这篇主要介绍angular指令中的link属性: link:function(scope,iEle,iAttrs,ctrl,linker){ .... } link属性值为一个函数,这个函数有五个参数 ...

  9. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

随机推荐

  1. 8.20.1 图形化:弹窗JOptionPane

    最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了一下. 1.1 showMessageDialog 显示一个带有OK 按钮的模 ...

  2. 33、线程与全局解释器锁(GIL)

    之前我们学了很多进程间的通信,多进程并发等等,今天我们来学习线程,线程和进程是什么关系,进程和线程有什么相同而又有什么不同今天就来揭晓这个答案. 一.线程概论 1.何为线程 每个进程有一个地址空间,而 ...

  3. Spring Date Jpa on update current_timestamp 自动维护创建时间和更新时间

    在数据库里设置默认值current_timestamp可以维护创建时间,设置on update current_timestamp 可以维护更新时间.在JPA中应该如何去做呢?这里还是以上篇Topic ...

  4. Linux入门练习

    1.echo是用于终端打印的基本命令: 1.1echo默认将一个换行符追加到输出文本的尾部. 1.2 echo中转义换行符 如需使用转义序列,则采用echo -e "包含转义序列的字符串&q ...

  5. spring文件上传

    Spring文件上传 1,导包: <dependency> <groupId>javax.servlet</groupId> <artifactId>s ...

  6. 关于package.json的理解

    在我们打包项目的时候或者使用node的时候,常常会看到package.json这个文件,里面乱七八糟的一大堆json,开始的时候没注意,以为是使用node或者npm的时候自动创建的,后来自己写demo ...

  7. 神奇的background

    background:url() fixed ....  可以实现页面向下滚动时背景图片 保持位置不变   感觉好像背景在随鼠标滚动而滚动一样

  8. 【RN6752】模拟高清AHD芯片或成为车机新标配

    由于目前车机方案倒车后视目前大多为480P标配,画面噪点多有锯齿成像效果差,成为行业的难言之痛.2012年底,浙江大华宣布发布一项具备完全自主知识产权的安防行业高清视频传输规范--HDCVI--Hig ...

  9. [C]字符串排序之-冒泡法

    在oj刷题,遇见一题字符串排序题. 脑海里瞬间闪过数组排序. 思路有了,打开题解看看别人的思路,发现好多人的排序方法显得比较臃肿,可能也是我的水平不够,欣赏不来吧. 不过用冒泡法排序的时候一定要记得字 ...

  10. WCF(一)基础整理

    学习WCF之前,了解下WCF和WebService的区别. WCF和WebService区别 Web Service严格来说是行业标准,也就是Web Service 规范,它使用XML扩展标记语言来表 ...