1.自定义指令,直接栗子:

note:定义指定是驼峰,2部分 前缀+作用,but  调用 改驼峰首字母大写处为 (-首字母小写)  

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/angular.js"></script>
</head>
<body ng-controller="ctl">
<div say-hello test-name="Hello World"></div>
<script>
var app=angular.module('myApp',['ng'])
    //自定义指令
app.directive('sayHello',function () {
return {
restrict:'EACM', /*可以作为 E element A attribute C class M comment*/
replace:true, //作为conmment使用
template:'<h2> Hello <Directive></Directive> {{testName}}</h2>',
scope:{ //数据传入
testName:'@ '
}
}
});
app.controller('ctl',function ($scope) { })
</script>
</body>
</html>

2.双向绑定

双向绑定:模型数据绑定到视图  视图数据绑定到模型

ngModel 表单组件中

$scope.$watch(key,function)监听$scope值的改变

<body ng-controller="ctl">
<div class="container">
<div class="sel">
<select name="" id="" ng-model="selv">
<option value="1">pic1
</option>
<option value="2">pic2
</option>
</select>
</div>
<div class="imgbox">
<img alt="" ng-src="img/{{selv}}.png">
</div>
<div class="btn">
<input type="checkbox" ng-model="btn">是否同意
<button id="btn1" ng-disabled="!btn">注册</button>
</div>
</div>
<script>
var app = angular.module('myapp', ['ng']);
app.controller('ctl', function ($scope) {
});
</script>

 

3. 过滤器和函数

作用:用在表达式中,实现对表达式结果的赛选,过滤,格式化

语法:{{表达式| 过滤器名称}}中间管道符号分开 eg:<p>{{num|currency}}</p>

limitTo:n  限制条数

temp in list   foreach

orderBy  angular.toJson(obj, [pretty]          点点点。。。

<li ng-repeat="tmp in list| orderBy:'age':false|limitTo:2">
{{tmp.age}} {{tmp.name}}
</li>

 

                                                         

4.服务server 

$rootScope 与 $scope  作用域对象

$rootScope id$1 

$Scope id$2 递增  公用数据保存在$rootScope里面 私有的保存在对应的 $scope里面

例子:

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.js"></script>
</head>
<body ng-controller="ctl">
<table>
<thead>
<tr>
<td>请选择</td>
<td>姓名</td>
<td>生日</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="men in arr">
<td><input type="checkbox" ng-model="men.status" ng-checked="selAll"></td>
<td>{{men.name}}</td>
<td>{{men.birthDay}}</td>
</tr>
<tr>
<td><input type="checkbox" ng-model="selAll"></td>
<td>全选</td>
<td></td>
</tr>
</tbody>
</table>
<button ng-click="show()">查看</button>
<script>
var app = angular.module('myApp', ['ng']);
app.controller('ctl', function ($scope) {
$scope.arr = [{name: "king", birthDay: "1992.12.11", status: false}, {
name: "fly",
birthDay: "1944.12.11",
status: false
}, {name: "mary", birthDay: "1920.12.11", status: false}];
$scope.show = function () {
var str = "";
angular.forEach($scope.arr, function (value, key) {
if (value.status) {
str += value.name + "被选中了\n";
}
});
if (str == '') {
alert("都没选中");
} else
alert(str);
};
$scope.$watch('selAll', function () {
angular.forEach($scope.arr, function (value, key) {
$scope.arr[key].status = $scope.selAll
})
})
})
</script>
</body>
</html>

Angular(2)的更多相关文章

  1. Angular(1)

    1.设计原则 1.YAGNI  不要把未来需求引入当前工程   2.KISS  keep it simple and stupid  语义化标记 合理注释 符合规定的命名 3.DRY(don't re ...

  2. Angular(03)-- lint风格规范和WebStorm小技巧

    在开始讲 Angular 各个核心知识点之前,想先来讲讲开发工具 WebStorm 的一些配置以及相应配置文件如 tslint.json 的配置. 因为我个人比较注重代码规范.代码风格,而对于这些规范 ...

  3. Angular(02)-- Angular-CLI命令

    声明 本系列文章内容梳理自以下来源: Angular 官方中文版教程 官方的教程,其实已经很详细且易懂,这里再次梳理的目的在于复习和巩固相关知识点,刚开始接触学习 Angular 的还是建议以官网为主 ...

  4. Angular(01)-- 架构概览

    声明 本系列文章内容梳理自以下来源: Angular 官方中文版教程 官方的教程,其实已经很详细且易懂,这里再次梳理的目的在于复习和巩固相关知识点,刚开始接触学习 Angular 的还是建议以官网为主 ...

  5. 从flask视角学习angular(一)整体对比

    写在前面 前端框架完全不懂. 看着angular中文官网的英雄编辑器教程和核心知识,用偷懒的类比法,从flask django的角度 记录一下自己对angular的理解. 作为工科的武曲,自己的体会是 ...

  6. Angular(三)

    Angular开发者指南(三)数据绑定   数据绑定AngularJS应用程序中的数据绑定是模型和视图组件之间的数据的自动同步. AngularJS实现数据绑定的方式可以将模型视为应用程序中的单一来源 ...

  7. Angular(二)

    Angular开发者指南(二)概念概述   template(模板):带有附加标记的模板HTMLdirectives(指令):使用自定义属性和元素扩展HTMLmodel(模型):用户在视图中显示的数据 ...

  8. Angular(一)

    Angular开发者指南(一)入门介绍   什么是AngularAngularJS是动态Web应用程序的结构框架. 它允许您使用HTML作为模板语言,并允许您扩展HTML的语法以清晰,简洁地表达应用程 ...

  9. angular(3)服务 --注入---自定义模块--单页面应用

    ng内部,一旦发生值改变操作,如$scope.m=x,就会自动轮询$digest队列,触发指定的$watch,调用其回调函数,然后修改dom树. 干货:https://github.com/xufei ...

随机推荐

  1. echsop常用模板方法.

    echsop模板遍历文件: {foreach from=$goods_list item=goods} {$goods.name} {/foreach} 不知道为什么ecshop中foreach像个注 ...

  2. .htaccess更改目录下的默认主页

    我们知道apache的配置文件httpd.conf可以配置网站目录的默认主页.配置文件该部分定义如下: #DirectoryIndex: sets the file that Apache will ...

  3. Codeforces Round #380 (Div. 2) 解题报告

    第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...

  4. Node.js 文件系统

    Node.js 文件系统封装在 fs 模块是中,它提供了文件的读取.写入.更名.删除.遍历目录.链接等POSIX 文件系统操作. 与其他模块不同的是,fs 模块中所有的操作都提供了异步的和 同步的两个 ...

  5. 例子:Alarm Clock with voice Commands Sample

    通过本例子学习: 如何使用自定义字体文件(.TTF) 如何播放声音 动画的使用 Speech 设置闹铃 应用 设置 数据存储到IsolatedStorage 如何使用自定义字体文件(.TTF) < ...

  6. 再议C++的性能

    最近在公司里的项目做的是性能优化,相关性能调优的经验总结也在前一篇文章里说了.这里再说一说和性能相关的东西.主要针对的是C++类库中常用的一些数据结构,比方说std::string.顺序容器(vect ...

  7. Centos搭建SVN服务器三步曲

    搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功#subversion -v svnserve, version 1.6 ...

  8. Android Priority Job Queue (Job Manager):多重不同Job并发执行并在前台获得返回结果(四)

     Android Priority Job Queue (Job Manager):多重不同Job并发执行并在前台获得返回结果(四) 在Android Priority Job Queue (Jo ...

  9. framework各版本对比

    本对比只是粗略的让大家了解到大概有什么变化 .net 1.0 2002年2月.net 2.0 2006年1月.net 3.0 2006年11月 .net 3.5 2007年11月.net 3.5 sp ...

  10. 修改mysql用户名密码 和 PHPmysqlAdmin对应密码修改

    本地的mysql运行时,可能会用到修改用户名密码: mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('输入新密码');不存在修改用户啊 ...