AngularJS记住“旧的”范围值

时间:2014-06-27 16:05:21

标签: javascript angularjs

我有一个AngularJS应用程序,用户可以从列表中选择一个项目。然后将它们带到另一个屏幕,该屏幕包含一个选择元素,其内容基于第一个屏幕的选择。我从这个select元素中选择一个项目,它会更新屏幕上的一些文本字段,一切正常。

我遇到的问题是,如果我回到第一个屏幕并从列表中选择一个不同的项目,第二页上的选择元素以及文本字段仍然会主动选择“旧”项目和文本字段显示“旧”数据。

如何告诉Angular忘记以前的选择,这些选择已不在范围内?单击“返回”时,是否手动重置所有字段?

1 个答案:

答案 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);
    };
}