发表于: 2017-07-05 22:19:51

1 1029


今天完成的事情:

准备小课堂课件和demo,晚上听讲职业素养和敏捷开发,把小课堂相关内容善后。

明天的计划:

开始任务9学习图片上传和预览。

遇到的问题:

暂无

收获:

对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能。 例如,一些原生的指令如 ng-disabled ng-if ng-repeat ng-click 等。ng-click可以让一个元素能够监听click事件,并在接收到事件的时候执行AngularJS表 达式。正是指令使得AngularJS这个框架变得强大,并且在AngularJs我们可以自己通过directive来创造新的指令。

当在我们的项目中需要实现一些功能,比如,时间筛选、分页的功能,我们最先想到的可能是先去网上找找看,有没有相应的插件可以给我们直接拿来使用。但是插件代码一般十分复杂,无法定位bug进行修改,也无法保证修改后不会出现别的bug,用起来可能不太顺手。像一些实现简单功能的插件,我们可以利用AngularJS中的directive自己写一个指令,进行封装,也可以方便以后重复使用。

先了解一下DIRECTIVE自定义指令中都可以设置哪些选项?

app.directive('pagination', function() {

return {

restrict: String,

priority: Number,

terminal: Boolean

templateUrl: String,

replace: Boolean or String,

scope: Boolean or Object,

transclude: Boolean,

controller: String or function() { ... },

controllerAs: String,

require: String,

link: function() { ... },

compile: function() { ... }

});

更多讨论

1.还可以用directive自定义指令封装哪些插件

2.directive自定义指令中的scope作用和注意点

 

课后提问:

问:如果在一个页面当中使用2个同一分页插件,怎么避免冲突?

答:重新封装,定义不同的数据模型,如$scope.showPage1 $scope.maxPage1$scope.showPage2$scope.maxPage2;在不同地方引用不同数据模型,避免冲突。


参考一:AngularJS权威教程

参考二:Angular简易分页设计

参考三:angular 自定义指令详解 Directive

 



返回列表 返回列表
评论

    分享到