我知道有幾個帖子與此類似,但我根本無法讓他們中的任何人按照我的意圖爲我工作。我正在嘗試設置一個事件處理程序來偵聽特定作用域上的位置更改。代碼如下所示:AngularJS離開頁面時發出警告
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="verifyViewChange">
<a href="SwitchToThis.html">Test</a>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('verifyViewChange', function ($location, $scope) {
$scope.$on('$locationChangeStart', function (event) {
event.preventDefault();
alert("I'm preventing you from leaving the page");
});
});
</script>
</body>
</html>
當我加載頁面時,我收到警告,但沒有點擊鏈接時。我需要做些什麼才能使它工作?
這裏沒有角度事件,使用本地事件 – charlietfl
@charlietfl但是這個https://docs.angularjs.org/api/ng/service/$location和這個https://docs.angularjs.org /api/ng/type/$rootScope.Scope#$on? – Rebam1
當你離開頁面時,你並沒有開始一個新的角度路線,那麼你爲什麼會期望那些方法來幫助? – charlietfl