zoukankan      html  css  js  c++  java
  • angular 全局常用指令

    1.全局支持 enter快捷键触发事件

    		// 全局指令
    		app.directive('ngEnter', ['$window',"$timeout", ($window,$timeout) => {
    			return {
    				restrict: 'A',
    				link ($scope, element, attrs) {
    					element.bind('keypress', (ev) => {
    						ev = ev || $window.event;
    						if (event.keyCode === 13) {
                                $timeout(function () {
                                    $scope.$eval(attrs.ngEnter);
                                });
                                //引入$timeout 解决渲染问题
                                ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
    							return false;
                            }
                            $window.event ? ev.cancelBubble=true : ev.stopPropagation();//清除冒泡
    					});
    					element.on('$destroy', function () {
    						element.unbind('keypress');
    						$scope.$destroy();
    					});
    				}
    			};
    		}]);
    

    2.点击按钮之后禁用按钮,防止多重提交

    	app.directive('clickAndDisable', function() {
    			return {
    			  scope: {
    				clickAndDisable: '&'
    			  },
    			  link: function(scope,element, iAttrs) {
    				element.bind('click', function() {
    				 element.prop('disabled',true);
    				  scope.clickAndDisable().finally(function() {
    					element.prop('disabled',false);
    				  })
    				});
    			  }
    			};
    		  });
    

    3.判断 ng-repeat 渲染完成后操作

    	app.directive('repeatFinish',function(){
    			return {
    			  link: function(scope,element,attr){
    				if(scope.$last == true){
                                       console.log("ng-repeat遍历完成");
    				  scope.$eval( attr.repeatFinish )
    				}
    			  }
    			}
    		  });
    
  • 相关阅读:
    Django重新构造User模型
    在docker中添加mysql在通过远程机器的访问
    php基础笔记
    mysql基础笔记整理
    redis的配置安装与使用
    c++实现对两个有序链表的连接
    java的网络编程(TCP)
    无心制作
    nacos配置服务
    声明式远程调用OpenFeign(微服务调用微服务)
  • 原文地址:https://www.cnblogs.com/yaohe/p/11046876.html
Copyright © 2011-2022 走看看