【问题标题】:AngularJS remembering "old" scope valuesAngularJS记住“旧”范围值
【发布时间】:2014-06-27 16:05:20
【问题描述】:

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

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

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

【问题讨论】:

  • 不看代码,很难帮上忙。您能分享一个证明您的问题的 plunker 吗?

标签: javascript angularjs


【解决方案1】:

你需要重新设置范围:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 2015-11-19
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多