在Ionic应用程序中未清除ng-click事件

时间:2015-06-09 13:42:42

标签: angularjs mobile ionic propagation

我正在使用Ionic框架开发一个应用程序,它也使用AngularJS。我有一个问题,即触发ng-click事件,但是在按下另一个按钮的下一个按钮时会触发相同的事件。例如,在页面上,我有多个按钮,每个按钮都有不同的ng-click处理程序。但是,当我单击一个按钮时,会调用该按钮事件处理程序,当我单击另一个按钮时,将再次调用第一个按钮的事件处理程序。我必须再次单击第二个按钮才能调用其事件处理程序。

这是我的观看代码:

<ion-header-bar align-title="center" class="bar-positive">
    <div class="buttons">
      <button class="button button-clear" ng-click="goBack()">Back</button>
    </div>
    <h1 class="title"><img class="title-image" src="img/bkg_header2x.png" width="242" height="32" /></h1>
</ion-header-bar>

<ion-content class="">
    <div class="maker_detail_title">
        {{maker.project_name}}
    </div>
    <div class="maker_detail_maker">
        <span style="font-weight: bold;">Maker:</span> {{maker.maker_name}}
    </div>
    <div class="maker_description">
        {{maker.project_description}}
    </div>
    <div class="maker_detail_social">
        <button type="button" class="button button-clear" ng-click="shareTwitter($event)">Twitter</button>
    </div>
</ion-content>

和相应的控制器代码:

.controller('MakerDetailCtrl', function($scope, $state, $stateParams, $ionicHistory, makerService, $cordovaSocialSharing) {
    $scope.maker = makerService.getMakerById($stateParams.makerId);

  $scope.goBack = function() {
      $ionicHistory.goBack();
  }

  $scope.shareTwitter = function($event) {
    alert('share twitter');
    $event.stopPropagation();
  }
})

在这个例子中,当我点击推特按钮时,我看到'分享推特'提醒,如果我点击“返回”按钮,我再次获得“分享推特”提醒。第二次点击它会调用后退动作。

请注意,我尝试添加stopPropagation调用,但这没有帮助。有什么想法吗?

0 个答案:

没有答案