离子片内的离子物质消失

时间:2015-05-19 11:45:23

标签: angularjs angularjs-scope angularjs-ng-repeat ionic-framework ionic

我已经实施了离子标签来显示我最近查看的产品和搜索结果。我将最近的项目存储在localstorage中,我在我的html中绑定它。最初这个工作正常,但是这个名单经常消失。该列表在html中没有绑定。 我遇到过一些解决方案,比如 - $rootScope.apply()$timeout()等等。我已经尝试了一切。现在失踪人数减少了。但有时候列表仍然会消失。除非重新安装应用程序,否则列表不会显示。

在我的控制器中,我这样做: -

$scope.$on( "$ionicView.loaded", function( scopes, states ) {
    $scope.init();
});
$timeout(function() {
   $rootScope.$apply(function()
   {
       $rootScope.viewedList = JSON.parse(window.localStorage.getItem("viewedList") || "[]");
    });
}, 10);

以下代码在我的html中: -

  <ion-tabs class="tabs-striped tabs-top tabs-background-grey tabs-positive">        
    <ion-tab title="Viewed items">          
       <ion-content class="has-header has-subheader has-tabs-top padding"   style="padding:40px 0" overflow-scroll="true" has-bouncing="false">
          <div ng-repeat="item in viewedList | reverse " >
              <ion-list>
          <ion-item  class="item item-divider" ng-click="productSearch(item.productId)"> 
             <span style="font-weight:bold"> {{item.Description}}</span><br>
                               {{item.productId}}
          </ion-item>     
               </ion-list>
          </div>

          <div ng-if="viewedList.length===0 || viewedList==null">
                <ion-item>No Viewed Items
                </ion-item>
            </div>
        </ion-content>
    </ion-tab>

    <ion-tab title="Search Results">  
       <!-- Another tab here-->
    </ion-tab>
</ion-tabs>

有人可以帮我解决这个问题???

1 个答案:

答案 0 :(得分:1)

我通过使用&#39;跟踪&#39;

修复了此问题

在html中我添加了这个: -

<div ng-repeat="item in list|reverse track by item.productid">

问题在于我们的应用程序列表不断变化,哈希值也会发生变化。不知何故,该名单失去了它的参考。使用&#39;跟踪&#39;解决了这个问题。