首页 > 解决方案 > 未调用 AngularJS 指令链接函数

问题描述

我一直在编写一个简单的角度指令来在用户关闭浏览器时显示警报。

angular.module('myApp').directive("areYouSure", ["$window", function ($window) {
    return {
        restrict: "E",
        link: function() {
            alert("I am called");
            $window.onbeforeunload = function () {
                alert("I am called");
                return "are you sure?";
            };
        }
    };
}]);

<div ng-app="myApp">
<areYouSure></areYouSure>

未调用链接函数。我在这里想念什么

标签: angularjsangularjs-directive

解决方案


你应该像这样调用指令,

<are-you-sure></are-you-sure>

演示

var app = angular.module('myApp',[])
 
app.directive("areYouSure", ["$window", function ($window) {
    return {
        restrict: "E",
        link: function() {
            alert("I am called");
            $window.onbeforeunload = function () {
                alert("I am called");
                return "are you sure?";
            };
        }
    };
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<are-you-sure></are-you-sure>
</body> 


推荐阅读