ng-click在离子标题按钮中不起作用

时间:2015-02-09 03:22:47

标签: angularjs ionic-framework

我正在尝试在标题栏的右侧添加一个按钮,按钮显示,但ng-click不会被触发,如果我在离子内容中移动按钮,它开始工作,只是不工作在标题中。

html:

<ion-view>
    <ion-nav-bar class="bar-stable nav-title-slide-ios7" >
      <ion-nav-back-button class="button-icon icon  ion-ios7-arrow-back">
      </ion-nav-back-button>
    </ion-nav-bar>
    <ion-header-bar>
        <h1 class="title">Trips</h1>
        <div class="buttons pull-right"><button class="button button-icon icon ion-plus" ng-click="createTrip()"></button></div>
    </ion-header-bar>

    <ion-content>

    </ion-content>
</ion-view>

JS:

.controller('TripCtrl', function($scope, $location, $localStorage){
    console.log('inside TripCtrl');

    $scope.$storage = $localStorage;

    var random1 = {
        name : 'random name 1',
        text : 'random text 1'
    }

    var random2 = {
        name : 'random name 2',
        text : 'random text 2'
    }

    $scope.trips = [];
    $scope.trips.push(random1);
    $scope.trips.push(random2);


    $scope.createTrip = function(){
        console.log('clicked create new');
        $location.path('/createTrip');
    }
})

2 个答案:

答案 0 :(得分:1)

请确保在app的根控制器中定义了createTrip,并且还注意到ion-header-bar默认情况下不会侦听点击事件。如果你想在ion-header-bar中绑定click事件,你必须将目标元素包装在ion-header-bar的按钮块中。

<ion-header-bar align-title="left" class="bar-positive">
  <div class="buttons">
    <button class="button" ng-click="doSomething()">Left Button</button>
  </div>
  <h1 class="title">Title!</h1>
  <div class="buttons">
    <button class="button">Right Button</button>
  </div>
</ion-header-bar>

http://ionicframework.com/docs/api/directive/ionHeaderBar/

答案 1 :(得分:-1)

我做了类似的事情,但我正在使用ui-sref直接转到我的部分。我的猜测是你需要将你的控制器添加到你的标题中,这样你就可以在任何屏幕上触发(就像后退按钮一样)。