2017-05-26 74 views
0

我正在開發通過使用離子框架的混合應用程序。但是,當用戶返回混合應用程序時,我的應用程序在雙重綁定中失敗應用程序能夠從localstorage中檢索Array對象,但是我的ngrepeats無法加載從localstorage分配的var I。以下是我的代碼。離子科爾多瓦:Angualarjs雙綁定不起作用

controller.js

.controller('ChatsCtrl', ['$scope','$state', '$ionicTabsDelegate' , '$ionicListDelegate', '$rootScope' 
    ,function($scope,$state,$ionicTabsDelegate, $ionicListDelegate, $rootScope) { 

     var channel_list = []; 
     channel_list = localStorage.getItem("channel_list"); 
     $scope.chats = channel_list; 
}]) 

HTML文件

<ion-view cache-view="false" view-title="DRDM Chat"> 
    <div class="bar bar-header bar-calm"> 
      <div class="h1 title">DRDM Chat</div> 
    </div> 
    <ion-content on-swipe-right="goBack()" on-swipe-left="goForward()"> 
     <br><br> 
     <ion-list> 
      <ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="chat in chats" type="item-text-wrap" ng-click="chatRoom({{'chat.displayName'}}, {{'chat.channelID'}})"> 
       <img ng-src="data:image/png;base64,{{chat.profilePicture}}"> 
       <h2>{{chat.displayName}}</h2> 
       <p>{{chat.lastText}}</p> 
       <i class="icon ion-chevron-right icon-accessory"></i> 
       <ion-option-button class="button-assertive" ng-click="remove($index, chat.channelID)">Delete</ion-option-button> 
      </ion-item> 
     </ion-list> 
    </ion-content> 
</ion-view> 

回答

0

嘗試調用該重新初始化列表像這樣的頁面加載的功能,

Controller.js

$scope.init = function(){  
    var channel_list = []; 
     channel_list = localStorage.getItem("channel_list"); 
     $scope.chats = JSON.parse(channel_list); 
    } 
    $scope.init(); 

並確保當過你訪問這個頁面此功能被激活。 注意:如果您在同一頁面上並想重新綁定列表,請在您需要的goBack()或goForward()函數中調用此函數。

希望這可以解決您的問題。

+0

它對我有用 –

+0

@YhanYoongHon很棒。 – DevSab

0

JS

var channel_list = []; 
    channel_list = localStorage.getItem("channel_list"); 
    $scope.chats = JSON.parse(channel_list); 

HTML文件

<ion-view cache-view="false" view-title="DRDM Chat"> 
<div class="bar bar-header bar-calm"> 
     <div class="h1 title">DRDM Chat</div> 
</div> 
<ion-content on-swipe-right="goBack()" on-swipe-left="goForward()"> 
    <br><br> 
    <ion-list> 
     <ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="chat in chats" type="item-text-wrap" ng-click="chatRoom(chat.displayName,chat.channelID)"> 
      <img ng-src="data:image/png;base64,{{chat.profilePicture}}"> 
      <h2>{{chat.displayName}}</h2> 
      <p>{{chat.lastText}}</p> 
      <i class="icon ion-chevron-right icon-accessory"></i> 
      <ion-option-button class="button-assertive" ng-click="remove($index, chat.channelID)">Delete</ion-option-button> 
     </ion-item> 
    </ion-list> 
</ion-content> 

ng-click="chatRoom(chat.displayName,chat.channelID)像這樣傳遞值。

+0

仍然有同樣的問題 –