Angularjs ng-repeat-start 不会在模式更改时清理旧视图

Angularjs ng-repeat-start doesn't clean old view when mode change

本文关键字:视图 ng-repeat-start 模式 Angularjs      更新时间:2023-09-26
<div data-ng-cloak="" data-ng-controller="Controller">
    <a data-ng-click="changeItems1()">Change Items1</a>
    <div data-ng-repeat-start="item1 in model1.items1" style="width:0;height:0;">
    </div>
    <div data-ng-repeat="item2 in model1.items2" style="border:1px #f00 solid;">
        {{ item1 }}, {{ item2 }}
    </div>
    <div data-ng-repeat-end style="display:none;">
    </div>
</div>
<script type="text/javascript">
    function Controller($scope){
        $scope.model1 = {};
        $scope.model1.items1 = [{id:"1"}, {id:"2"}, {id:"3"}, {id:"4"}];
        $scope.model1.items2 = [{id:"1a"}, {id:"2a"}, {id:"3a"}];
        $scope.changeItems1 = function(){
            $scope.model1.items1 = [{id:"1"}, {id:"2"}, {id:"3"}];
        }
    }
</script>

单击"更改项目1"时,旧的渲染框不会清理。有人知道那里发生了什么吗?

好的,这是一个 Angularjs 错误。从Angularjs错误板来看,他们正在处理几个类似的ng-repeat(-start)相关缺陷。以下链接提供了有关如何发生的详细愿景:https://github.com/angular/angular.js/issues/3104