码迷,mamicode.com
首页 > 其他好文 > 详细

angular 右击事件的写法

时间:2017-05-10 15:43:48      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:warnings   color   click   warning   表达   app   rect   表达式   return   

.directive(‘ngRightClick‘, function ($parse){
        return function (scope, element, attrs){
            var fn = $parse(attrs.ngRightClick);
            element.bind(‘contextmenu‘, function (event){
               scope.$apply(function (){
                   event.preventDefault();
                   fn(scope, {$event:event})
               });
            });
        }
    });

其中,$parse是手动解析服务。

使用自定义指令,返回一个右击函数,$apply监视$scope的变化。

this.$get = [‘$filter‘, ‘$sniffer‘, ‘$log‘, function($filter, $sniffer, $log) {
$parseOptions.csp = $sniffer.csp;
promiseWarning = function promiseWarningFn(fullExp) {
    if (!$parseOptions.logPromiseWarnings || promiseWarningCache.hasOwnProperty(fullExp)) return;
    promiseWarningCache[fullExp] = true;
    $log.warn(‘[$parse] Promise found in the expression `‘ + fullExp + ‘`. ‘ +
        ‘Automatic unwrapping of promises in Angular expressions is deprecated.‘);
};
return function(exp) {
    var parsedExpression;
    switch (typeof exp) {
        case ‘string‘:
            if (cache.hasOwnProperty(exp)) {
                return cache[exp];
            }
            var lexer = new Lexer($parseOptions);
            var parser = new Parser(lexer, $filter, $parseOptions);
            parsedExpression = parser.parse(exp, false);
            if (exp !== ‘hasOwnProperty‘) {                     
                cache[exp] = parsedExpression;
            }
            return parsedExpression;
        case ‘function‘:
            return exp;
        default:
            return noop;
    }
};
}];

这是$parse服务的$get属性,可以看出,当表达式为字符串的时候,进行一个手动的解析。如果是函数,直接返回。

angular 右击事件的写法

标签:warnings   color   click   warning   表达   app   rect   表达式   return   

原文地址:http://www.cnblogs.com/yunzhexiaye/p/6836094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!