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});
});
});
};
});
Der obige Code wird als benutzerdefinierte ngRightClick-Anweisung erklärt, aber zunächst einmal verstehe ich nicht, welche Bedeutung eine benutzerdefinierte Anweisung nicht in der folgenden Form haben sollte:
minesweeper.directive("mineGrid",function(){
return {
restrict:'E',
replace:false,
templateUrl:'./templates/mineGrid.html'
}
});
Bitte geben Sie mir einen Rat
首先自定义右键不是自定义元素,不应约束为element,更不会有HTML。直接返回function是直接返回link function的简写,自定义右键应该约束为属性。
这是使用了angular的内建服务$parse,建议看看这篇文章AngularJS内幕详解之 Directive