2016-01-04 10 views
5

के अंदर आयन-आइटम पर काम नहीं कर रहा है मेरे पास एक स्लाइड इन/आउट पैनल है। Logout को छोड़कर सबकुछ मेरे लिए ठीक काम कर रहा है। कृपया साइड पैनल व्यू पर एक नज़र डालें।आयन-साइड-मेन्यू

<ion-side-menus enable-menu-with-back-views="false"> 
<ion-side-menu-content> 
    <ion-nav-bar class="bar-stable"> 
    <!-- --> 
     <ion-nav-back-button> 
     </ion-nav-back-button> 
     <ion-nav-buttons side="left"> 
     <button class="button button-icon button-clear ion-navicon" menu-toggle="left"> 
     </button> 
     </ion-nav-buttons> 
    <!-- --> 
    </ion-nav-bar> 
    <ion-nav-view name="menuContent"></ion-nav-view> 
    </ion-side-menu-content> 

    <ion-side-menu side="left"> 
    <ion-header-bar class="bar-stable"> 
     <h1 class="title">Angular Social</h1> 
    </ion-header-bar> 
    <ion-content> 
     <ion-list> 
     <ion-item menu-close href="#/app/dashboard"> 
      <i class="icon ion-home"></i> 
      Dashboard 
     </ion-item> 
     <ion-item menu-close href="#/app/friends"> 
      <i class="icon ion-person-stalker"></i> 
      Friends 
     </ion-item> 
     <ion-item menu-close href="#/app/settings"> 
      <i class="icon ion-gear-a"></i> 
      Settings 
     </ion-item> 
     <ion-item menu-close href="#/app/search"> 
      <i class="icon ion-search"></i> 
      Search 
     </ion-item> 
     <ion-item menu-close ng-click="ac.logout()"> 
      <i class="icon ion-log-out"></i> 
      Logout 
     </ion-item> 
     </ion-list> 
    </ion-content> 
    </ion-side-menu> 
</ion-side-menus> 

और नीचे साइड पैनल बंद कर दिया हो और कुछ भी नहीं नियंत्रक में होता है, जब मैं Logout पर क्लिक करें मेरी नियंत्रक कोड

(function() { 
    'use strict'; 

    angular.module('starter').controller('DashboardController', DashboardController); 
    DashboardController.$inject = ['UserService', '$scope', '$state', 'CommonService' ,'$ionicLoading']; 

    function DashboardController(UserService, $scope, $state, CommonService, $ionicLoading) 
    { 
     var ac = this; 
     ac.logout = logout; 

     initController(); 

     function logout() 
     { 
      console.log('reachedhere'); 
      CommonService.logout() 
     } 

     function initController() 
     { 
      var loggedInStatus = localStorage.getItem('userLoggedIn'); 
      if (loggedInStatus === 'false') { 
       $state.go('signin'); 
      } 
      loadCurrentUser(); 
      loadnotifications(); 
     } 

     function loadCurrentUser() 
     { 
      var name = { 'username' : localStorage.getItem('username') }; 
      UserService.GetByUsername(name).then(function (response) { 
       $scope.userData = response; 
      }); 
     } 

     function loadnotifications() 
     { 
      $ionicLoading.show({ 
       template: 'loading' 
      }); 
      var name = { 'username' : localStorage.getItem('username') }; 
      UserService.GetByUsername(name).then(function (data) { 
       var id = data.id; 
       console.log(data.id); 
       UserService.GetFriedRequests(id).then(function (response) { 
        $scope.requests = response; 
       }); 
      }); 
      $ionicLoading.hide(); 
     } 
    } 

})(); 

है।

+0

क्या है 'मेनू-क्लोज़ 'में क्या हो रहा है? –

+0

यह स्लाइड मेनू सूची –

+0

स्लाइड करता है और बंद करता है क्या आप एक plnkr और codepen बना सकते हैं? – macrog

उत्तर

4

कोड को देखते हुए, यह अभी क्योंकि आयोनिक मूल रूप से एक नया लंगर <a> टैग पैदा कर रही है और केवल उस में href & target गुण रखने ion-item पर ng-click उपयोग करने के लिए संभव नहीं है।

तो मूल रूप से, आपके ng-click को अनदेखा किया जा रहा है। यहाँ कोड को देखो: https://github.com/driftyco/ionic/blob/v1.2.4/js/angular/directive/item.js#L44

आप मूल रूप से इस तरह क्लिक संभालने के लिए अपनी खुद की एक और निर्देश बनाने के लिए:

angular.module('starter').directive('logOut', function() { 
    return { 
     link: function($scope, element) { 
      element.on('click', function() { 
       ac.logout() 
      }); 
     } 
    } 
}); 

और फिर ध्यान में रखते हुए इसका इस्तेमाल:

<ion-item menu-close log-out> 
     <i class="icon ion-log-out"></i> 
     Logout 
</ion-item> 
+0

हाँ आप सही थे। अपना खुद का निर्देश बनाने का उद्देश्य यहां हल किया गया। धन्यवाद @ शशांक –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^