Controller inside ionic side bar menu executed twice


Hi, recently i got a problem when i use nav side bar menu:

<ion-side-menus enable-menu-with-back-views="false">

    <!-- CONTENT -->

        <!-- header bar -->
        <!-- the nav bar will be updated as we navigate between views -->
            <!-- back button, shown if applicable -->
            <ion-nav-back-button ng-click="goBack()">

            <!-- nav button, shown if applicable -->
            <ion-nav-buttons side="left">
                <button class="button button-icon button-clear ion-navicon" menu-toggle="left">

            <ion-nav-buttons side="right">

        <!-- ROUTING INJECTED HERE: pageContent -->
        <ion-nav-view name="pageContent">



    <!-- SIDEMENU -->
    <ion-side-menu side="left">

        <!-- menu header -->
            <h1 class="title"></h1>

        <!-- menu content -->
        <ion-content class='wrap'>

                <ion-item menu-close ui-sref="main.settings({type: 'notification'})">...

                <ion-item menu-close ng-click="signOut()">...




Inside the html fragment, i use a directive named ‘common-header’, and the common header controller code is:

.controller('CommonHeaderCtrl', function (ProfileSvc, $scope, $rootScope) {

        $rootScope.$on('header:refreshPoints', function() {

Inside common header controller, there is a event registered.
The problem is every time when emit event ‘header:refreshPoints’, the event handler will be execute twice. This is caused by nav bar block cached the html fragment which cause the controller loaded twice.

I think when the cache way is not so good, it might cause performance issue, please help to solve the problem, thanks!