2016-01-13 59 views
0

我堅持的一個問題在我的離子應用具有與namepicture邊欄菜單與它的父和abstract:true。在同一控制器中,有一個更新功能,它更新scope.picture,但側面菜單圖片未更新。

controller('AppCtrl', function($scope,$window,$rootScope,$location,$http,$state,$cordovaCamera,$ionicLoading,$q,login_Service) 
{    
    $scope.user_Name=$rootScope.u_name;    
    $scope.uid=$rootScope.user_id; 
    $scope.pass=$rootScope.password; 
    $scope.user_Picture=$rootScope.pic; 
    $scope.whats=$rootScope.wh; 

    $scope.update_u=function(topic){  
     $scope.user_Picture=topic['picture']; 
     $scope.whats=topic['e_whats']; 
    }     
}); 

this is side-menu template 

<ion-side-menus> 

    <ion-side-menu-content> 
    <ion-nav-bar class="bar-light nav-title-slide-ios7"> 
     <ion-nav-back-button class="button-clear"><i class="icon ion-ios7-arrow-back"></i> Back</ion-nav-back-button> 
    </ion-nav-bar> 
    <ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view> 
    </ion-side-menu-content> 
    <ion-side-menu side="left"> 

    <!-- Sidebar Content --> 
    <ion-content class="gem-sidebar dark"> 
     <!-- Profile Box - Extends ionic's .row --> 
     <div class="row gem-sidebar-profile-box"> 
     <!-- Profile Thumb --> 
     <div class="col col-25"> 
      <img src="img/gemionic/no-photo.jpg" ng-if="!user_Picture" class="gem-profile-image" alt=""> 
      <img src="http://www.cssolutionshub.com/php/images/user_img/{{user_Picture}}" ng-if="user_Picture" class="gem-profile-image"> 
     </div> 
     <!-- End Profile Thumb --> 

     <!-- Profile Name --> 
     <div class="col col-50"> 



      <h6> <a menu-close href="#" ng-click="edit_prof()">Edit Profile</a></h6> 
      <h5 ng-if="user_Name !== undefined">{{user_Name}}</h5> 
      <h4>{{whats}}</h4> 
     </div> 
     <!-- End Profile Name <a --> 

     <!-- Account Settings Icon --> 
     <div class="col col-25 gem-text-center"> 
      <i class="gem-profile-settings-icon ion-volume-high"></i> 
     </div> 
     <!-- End Account Settings Icon --> 

     </div> 
     <!-- End Profile Box --> 
     <!--<ion-list>   
     <ion-item class="item-ng-click" nav-clear menu-close ng-click="login()">Login</ion-item> 
     <ion-item nav-clear menu-close href="#/app/feed">Feed</ion-item> 
     <ion-item nav-clear menu-close href="#/app/start">Starter View</ion-item> 


     </ion-list> --> 
    </ion-content> 
    <!-- End sidemenu content --> 
    </ion-side-menu> 
</ion-side-menus> 

,這是我的編輯模板,其中點擊更新功能

<!-- Title for header bar (refer to www/index.html) --> 
<ion-view title="Edit Profile"> 
    <!-- ====================== 
    LEFT SIDE BUTTON 
    ====================== --> 
    <ion-nav-buttons side="left"> 
    <button menu-toggle="left" class="button button-icon icon ion-navicon"></button> 
    </ion-nav-buttons> 

    <!-- ====================== 
    RIGHT SIDE BUTTON 
    ====================== --> 
    <ion-nav-buttons side="right"> 
    <button class="button button-icon icon ion-checkmark-circled"></button> 
    </ion-nav-buttons> 


    <!-- ====================== 
    MAIN CONTENT SECTION 
    ====================== --> 
    <ion-content class="has-header gem-ion-content profile-edit"> 
    <!-- ====================== 
    GEMIONIC PROFILE ADD PICTURE BANNER 
    ====================== --> 
    <!-- <div class="gem-profile-media"> 
     <div class="gem-profile-details profile2"> 
     <div class="text-center"> 
      <i class="icon ion-plus-circled add-user-pic-icon"></i> 
      <p class="uppercase">Add user pic</p> 
     </div> 
     </div> 
    </div> --> 
    <img ng-if="topic.picture !== undefined && img===undefined " ng-src="http://www.cssolutionshub.com/php/images/user_img/{{topic.picture}}" alt="" width="100%" height="20%" ng-click="addMedia()"> 

      <img ng-if="topic.picture === undefined && img===undefined" ng-src="img/gemionic/no-photo.jpg" width="100%" height="20%" ng-click="addMedia()"> 
       <img src="{{img}}" ng-if="img!==undefined" width="100%" height="20%" ng-click="addMedia()"> 
    <!-- ====================== 
    END GEMIONIC PROFILE ADD PICTURE BANNER 
    ====================== --> 

    <!-- Standard Ionic List --> 
    <div class="list"> 

     <label class="item item-input item-stacked-label"> 
     <span class="input-label">What Now</span> 
     <input type="text" ng-model="topic.whats"> 
     </label>  

     <label class="item item-input item-stacked-label"> 
     <span class="input-label">Password</span> 
     <input type="password" ng-model="topic.password"> 
     </label> 
    <button class="button button-full button-positive" ng-click='update_u(topic)'> 
     Update 
    </button> 
    <button class="button button-full button-positive" ng-click='go_feed()'> 
     Cancel 
    </button> 
</div> 
    </ion-content> 
</ion-view> 
+0

什麼位代碼調用'$ scope.update_u()'? –

+0

用於更新同一控制器內的用戶圖片 – sak

+0

我看到它應該做什麼。你已經將它變成了這個'$ scope'的函數/方法,那麼你的代碼會調用它/觸發它來執行?這將幫助人們找出問題 –

回答

0

嘗試以下操作:

$scope.update_u=function(topic){ 
    $scope.whats = topic.whats; 
    $scope.user_Picture=topic['picture']; 
} 
+0

感謝您的快速評論,我用它應用它did'nt工作,那麼如何使側面菜單圖片應該更新PLZ幫助 – sak

+0

你能分享你的HTML或控制器的一部分你稱這個更新功能? –

+0

剛剛共享 – sak

0

你可以試試這個(中AppCtrl內)。 $ ionicView.beforeEnter函數中的代碼將在每次調用視圖時執行:

$scope.$on('$ionicView.beforeEnter', function() { 
     // Code you want executed every time view is opened 
     $scope.update_u=function(topic){  
      $scope.user_Picture=topic['picture']; 
      $scope.whats=topic['e_whats']; 
     } 
}