控制器内部的离子导航按钮触发两次

Controller inside ion-nav-buttons fired twice

本文关键字:两次 按钮 内部 导航 控制器      更新时间:2023-09-26

我需要一个控制器在离子导航按钮显示徽章根据需要。但是,离子导航按钮内的控制器被触发两次,而如果我把它放在离子导航按钮外,它就会正常工作。

示例:http://play.ionic.io/app/a8f23a5bc384

HTML内容

<body ng-app="app">
    <ion-side-menus>
        <ion-side-menu-content>
            <ion-nav-bar class="bar bg-main">
            <ion-nav-back-button style="color: #fff">
                </ion-nav-back-button>
                <ion-nav-back-button style="color: #fff">
                </ion-nav-back-button>
                <ion-nav-buttons side="right">
                    <a ng-href="#/notification" class="button" ng-controller="NotifyCtrl">
                    </a>
                </ion-nav-buttons>
            </ion-nav-bar>
            <ion-nav-view name="" animation="slide-left-right"></ion-nav-view>
        </ion-side-menu-content>
    </ion-side-menus>
</body>

angular.module('app', ['ionic']).
controller('NotifyCtrl', ['$scope', function($scope){
  alert();
}]);

在离子论坛上发布的问题没有太多帮助。

如果你检查并看到整个dom被复制了两次,那么它调用了两次

移动ng-controller="NotifyCtrl"并粘贴到ion-side-menus

 <ion-side-menus enable-menu-with-back-views="true"  ng-controller="NotifyCtrl">
        <ion-side-menu-content>
            <ion-nav-bar class="bar bg-main">
            <ion-nav-back-button style="color: #fff">
                </ion-nav-back-button>
                <ion-nav-back-button style="color: #fff">
                </ion-nav-back-button>
                <ion-nav-buttons side="right">
                    <a ng-href="#/notification" class="button button-icon icon ion-ios-bell-outline">
                    </a>
                </ion-nav-buttons>
            </ion-nav-bar>
            <ion-nav-view name="" animation="slide-left-right"></ion-nav-view>
        </ion-side-menu-content>
    </ion-side-menus>