这是您可能不知道的窍门:
ng-change="dialog(myDropDown)" // pass the NEW value of myDropDownng-change="dialog('{{myDropDown}}')" // pass the OLD value of myDropDown调用时
dialog(),可以将先前选择的选项作为参数传递。
然后,如果取消对话框,只需回滚即可。
var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { $scope.dialog = function(prev) { var dialog = confirm('Continue?'); if(!dialog) { $scope.myDropDown = prev; alert("Option must not change"); } }});<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script><div ng-app="myApp" ng-controller="myCtrl"> <select ng-model="myDropDown" ng-change="dialog('{{myDropDown}}')"> <option>a</option> <option>b</option> </select></div>


