一、自定义指令
语法:
var app = angular.module('myModule',['ng']);
app.directive(name,fn);
自定义指令:
restrict:'EACM'
E-->Element 元素
A-->Attribute 属性
C-->Class
M-->Comment 注释(在指令中添加一个属性:replace:true)
新指令的命名:
①驼峰式
②前缀一般是公司或者项目的简写,后缀一般是指令的作用
③使用指令: tsHello--->ts-hello
在第二个参数 指定一个方法,在方法中返回一个对象设置指令。对象中template、restrict、replace、scope。。。
总结:如果要参数的传递,需要在创建指令的时候,加上scope,同时指定对应的属性的名称(testName),在使用指令的时候,需要加上对应的属性(test-name='')
练习:创建自定义的指令 tsDirective,传入ts-name="Hello Directive",调用指令(作为元素来使用)显示出来。
二、双向数据绑定
1、方向1的绑定(Model数据 绑定到View)
实现方法:`name`、常用指令(ngRepeat/ngBind/ngIf...)
相比DOM操作:先去查找元素,再去设置元素,只需要把model数据绑定视图上,数据改,视图就会更新。
2、方向2的绑定(将View数据绑定到Model数据)
实现方法只有一种方式: ng-model
<input type='text' ng-model='myText'/>
$scope.$watch('模型变量名',function(){})
练习:
留言本:多行文本输入框textarea、
选择城市:下拉菜单select、
是否同意:复选框 checkbox
三、过滤器