angular中的自定义指令

minesweeper.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});
                });
        });
    };
});

如上代码,解释说是自定义ngRightClick指令,但是首先不能理解它的意思,再一个自定义指令不应该是下面这种形式吗:

minesweeper.directive("mineGrid",function(){
    return {
        restrict:'E',
        replace:false,
        templateUrl:'./templates/mineGrid.html'
    }
});

求指教

阅读 2.2k
2 个回答

首先自定义右键不是自定义元素,不应约束为element,更不会有HTML。直接返回function是直接返回link function的简写,自定义右键应该约束为属性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进