我有一个AngularJS应用程序,用户可以从列表中选择一个项目。然后将它们带到另一个屏幕,该屏幕包含一个选择元素,其内容基于第一个屏幕的选择。我从这个select元素中选择一个项目,它会更新屏幕上的一些文本字段,一切正常。
我遇到的问题是,如果我回到第一个屏幕并从列表中选择一个不同的项目,第二页上的选择元素以及文本字段仍然会主动选择“旧”项目和文本字段显示“旧”数据。
如何告诉Angular忘记以前的选择,这些选择已不在范围内?单击“返回”时,是否手动重置所有字段?
答案 0 :(得分:0)
您需要重置范围:
function TodoCtrl($scope) {
$scope.data = [
{text:'learn angular', done:true},
{text:'build an angular app', done:false}
];
$scope.orig = angular.copy($scope.data);
$scope.reset = function() {
$scope.data = angular.copy($scope.orig);
};
}