检查表单中AngularJS的更改

检查表单中AngularJS的更改,angularjs,Angularjs,我有一个使用AngularJS构建的HTML页面。该页面有一个包含多个字段的表单。 我有一个保存、返回和取消按钮。当您单击“上一步”按钮时,我希望能够告诉您是否对字段进行了更改,并提示问题“是否要保存更改?”。 如果单击“取消”按钮,我想忽略所做的任何更改并返回上一页。如何在角度上实现这一点?f您可以使用“$locationChangeStart”$location 在这个例子中,如果你能检查任何变化情况,这只是我举的一个例子。您可以对任何位置更改执行此操作,但如果您想在“取消”或“后退”按钮上

我有一个使用AngularJS构建的HTML页面。该页面有一个包含多个字段的表单。 我有一个保存、返回和取消按钮。当您单击“上一步”按钮时,我希望能够告诉您是否对字段进行了更改,并提示问题“是否要保存更改?”。 如果单击“取消”按钮,我想忽略所做的任何更改并返回上一页。如何在角度上实现这一点?

f您可以使用“$locationChangeStart”$location


在这个例子中,如果你能检查任何变化情况,这只是我举的一个例子。您可以对任何位置更改执行此操作,但如果您想在“取消”或“后退”按钮上执行此操作,则可以在“按钮单击”方法上使用相同的条件并检查更改。例如,如果表单字段不干净。

您是否已为该要求付出了努力?你应该付出你的努力。你有什么代码给我们看吗?。。。并尝试查看$scope.$watch的帮助页面。您可能还想钩住导航事件。表单控制器有$pristine标志。使用它可以知道用户是否使用过任何表单组件。
$scope.$on('$locationChangeStart', function(event, newURL) {
        if (newURL.lastIndexOf("#/") >= 0) {
            $scope.locationToMove = newURL.substring(newURL.lastIndexOf("#/") + 1); // here you can store the location to move for future use
        } else {
            $scope.locationToMove = "/";
        }
        if ($scope.form.$dirty && !goToBack && !saved) {
            $scope.displayConfirmationModel = true; // any alerts you want to show here
            event.preventDefault();
        }
        else {
            // you can move to that location
        }
    });