0

У меня странная проблема: когда я когда-либо пытаюсь поместить ng-show в свой popover.html, мое приложение получило зависание. и когда я комментирую его, приложение работает нормально. я действительно не понимаю, что происходит внутри моего кода.ng-show hanging все мое приложение

вот мой popover.html: -

<ion-popover-view> <ion-content> 
 

 
<div ng-show="showsettingButton()"> 
 
\t <ion-item menu-close ng-click="logout()"> Sign Out <span 
 
\t \t class="item-icon-right"><i class="ion-chevron-right"></i></span> </ion-item> 
 

 
\t <ion-item menu-close ui-sref="app.profile"> Settings <span 
 
\t \t class="item-icon-right"><i class="ion-chevron-right"></i></span> </ion-item> 
 
</div> 
 

 
<div class="list" ng-repeat="title in Titlelist"> 
 
\t <a class="item" 
 
\t \t ng-click="openpage(title.page_title,title.page_content)"> 
 
\t \t {{title.page_title}} </a> 
 
</div> 
 

 
</ion-content> </ion-popover-view>

здесь мои функции в контроллере: -

app 
 
\t \t .controller(
 
\t \t \t \t 'MenuCtrl', 
 
\t \t \t \t function($scope, LocalStorage, $stateParams, $rootScope, 
 
\t \t \t \t \t \t $state, store, ngCart, $window, $ionicHistory, 
 
\t \t \t \t \t \t DataService, $ionicLoading, $ionicPopup, $http, 
 
\t \t \t \t \t \t $ionicSideMenuDelegate, $ionicPopover) { 
 
        
 
        $scope.showsettingButton = function() { 
 
\t \t \t \t \t \t $scope.popover.hide(); 
 
\t \t \t \t \t \t if (LocalStorage.getData("userId")) { 
 
\t \t \t \t \t \t \t if (LocalStorage.getData("userId") !== "undefiened") { 
 
\t \t \t \t \t \t \t \t DataService.setbooleanIsUserLoggedIn(true); 
 
\t \t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t \t DataService.setbooleanIsUserLoggedIn(false); 
 
\t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t } else { 
 
\t \t \t \t \t \t \t DataService.setbooleanIsUserLoggedIn(false); 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t \t return DataService.getbooleanIsUserLoggedIn() 
 
\t \t \t \t \t } 
 
        
 
        $ionicPopover.fromTemplateUrl('templates/popover.html', { 
 
\t \t \t \t \t \t scope : $scope, 
 
\t \t \t \t \t }).then(function(popover) { 
 
\t \t \t \t \t \t $scope.popover = popover; 
 
\t \t \t \t \t }); 
 

 
\t \t \t \t \t $scope.openpage = function(Pagetitle, Pagecontent) { 
 
\t \t \t \t \t \t $scope.popover.hide(); 
 
\t \t \t \t \t \t var jsonObject = { 
 
\t \t \t \t \t \t \t title : Pagetitle, 
 
\t \t \t \t \t \t \t content : Pagecontent 
 
\t \t \t \t \t \t } 
 
\t \t \t \t \t \t DataService.addcontent(jsonObject) 
 
\t \t \t \t \t \t $state.go('app.extraPage'); 
 
\t \t \t \t \t } 
 
        
 
        });

если я Comm Ent этой строки

<div ng-show="showsettingButton()"> <div/>

, мое приложение работает отлично.

Любая помощь будет полезна

Спасибо.

+0

Возможно ли, что 'LocalStorage.getData ("идентификатор пользователя")' это линия висит? Возможно, он не может получить результаты. –

+0

Можете ли вы поделиться с нами полным кодом (включая зависимости, такие как «LocalStorage») или (еще лучше) добавить фрагмент или скрипку? –

+1

на месте ng-show попробуйте ng-if .. – sid

ответ

1

<div ng-if="showsettingButton()"> 
 
\t <ion-item menu-close ng-click="logout()"> Sign Out <span 
 
\t \t class="item-icon-right"><i class="ion-chevron-right"></i></span> </ion-item> 
 

 
\t <ion-item menu-close ui-sref="app.profile"> Settings <span 
 
\t \t class="item-icon-right"><i class="ion-chevron-right"></i></span> </ion-item> 
 
</div>

Смежные вопросы