分享人:吴胜
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
指令就是DOM与逻辑行为的媒介,本质就是DOM绑定的独立逻辑行为函数。
angular通过内置指令的方式实现了对html的拓展,同时也赋予了我们自定义指令的功能,让我们根据实际需求进行指令的定制。
自定义指令涉及到模板(template)、作用域(scope)、数据绑定和Dom操作等内容。
link:function(scope, element, attrs){
//在这里操作DOM
}
<body>
<my-hello></my-hello>
</body>
<script type="text/javascript">
var m1 = angular.module('myApp', []);
m1.directive('myHello', function () {
return {
restrict: 'E',
replace: true,
template: '<div>hello angular</div>'
};
});
</script>
指令就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性,并且它不只是单单如此, 你还可以在它的基础上来操作scope、绑定事件、更改样式等。通过这个Directive,我们可以封装很多公共指令, 比如分页指令、自动补全指令等等。然后在HTML页面里只需要简单的写一行代码就可以实现很多强大的功能。
在Angular中,操纵数据不是通过抓取和注入。一般通过数据绑定来实现,JQurey是抓取dom节后进行操作的。核心理念不同。 虽然在Angular里也能通过抓取然后注入数据,但是会出现很多不必要的问题和bug.
因为在directive里,会将遇到的大写字母转换成 “-” + 转换的小写字母。
感谢大家观看
BY : 吴胜