Javascript 使用run()函数检查状态更改开始时表单是否脏
我使用angular ui router定义状态,我希望检查当前状态下的表单是否脏,并在用户在ui路由器状态之间导航时提示用户。当用户试图从一个状态导航到另一个状态时,我想检查当前状态下的表单是否原始,并提示他是否真的要传播到下一个表单。我已经编写了一个通用的run函数来处理这个问题Javascript 使用run()函数检查状态更改开始时表单是否脏,javascript,angularjs,forms,angularjs-scope,angular-ui-router,Javascript,Angularjs,Forms,Angularjs Scope,Angular Ui Router,我使用angular ui router定义状态,我希望检查当前状态下的表单是否脏,并在用户在ui路由器状态之间导航时提示用户。当用户试图从一个状态导航到另一个状态时,我想检查当前状态下的表单是否原始,并提示他是否真的要传播到下一个表单。我已经编写了一个通用的run函数来处理这个问题 angular.module('module') .run(function ($rootScope, $compile, $templateRequest) { $rootScope.$on('$stat
angular.module('module')
.run(function ($rootScope, $compile, $templateRequest) {
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if (fromState.name.length > 0) {
$templateRequest(fromState.templateUrl)
.then(function (html) {
var compiledElement = $compile(html)($rootScope);
console.log(compiledElement.find('form'));
});
}
if (fromState.name.length > 0 && !confirm('You have unsaved changes, go back?'))
event.preventDefault();
});
});
我想获取当前UI路由器状态的范围,以便检查表单的原始状态或任何其他方式,以了解当前状态下的表单是否脏