資料錄入頁面的controller中的代碼:.controller("MobileInputCtrl", function ($scope, $rootScope) { $scope.$watch("myForm.$dirty", function (newVal) { $rootScope.isDirty = newVal; });})在資料錄入頁面上放了個測試<div>來顯示$rootScope.isDirty全局變量值,證明該變量值已被正確地更新為true。頂層模塊中注冊的$ionicView.beforeLeave()事件處理方法代碼:angular.module("app", []).run(function ($ionicPlatform, $rootScope) { $ionicPlatform.ready(function () { $rootScope.$on("$ionicView.beforeEnter", function (event, view) { $rootScope.isDirty = false; }); $rootScope.$on("$ionicView.beforeLeave", function (event, view) { alert($rootScope.isDirty); // 顯示仍然為false,百思不得其解! }); });});在資料錄入頁面的測試<div>上已經(jīng)清楚地看到isDirty已被正確地更新為true。但在離開資料錄入頁面時,看到彈出的提示框顯示的isDirty值卻仍為false,百思不得其解!難道這個變量還能兩個不成???
在資料錄入頁面的controller中已更新$rootScope全局變量,但在beforeLeave
qq_笑_17
2018-11-17 15:11:41