2015-02-09 46 views
7

我想添加一個按鈕在標題欄的右側,按鈕顯示,但ng-click不會被解僱,如果我移動離子按鈕內容,它開始工作,只是不工作在標題。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'); 
    } 
}) 
+0

需要更多的代碼,什麼控制器管理該按鈕點擊?從您提供的代碼中不清楚 – 2015-02-22 23:36:51

回答

-1

我做了類似的事情,但是我使用ui-sref直接進入我的部分。我的猜測是你需要將這個控制器添加到你的頭部,這樣它會在任何屏幕上觸發(就像後退按鈕一樣)。

1

請確保createTrip是在應用程序的根控制器中定義的,並且注意ion-header-bar默認情況下不偵聽點擊事件。如果你想綁定ion-header-bar內的點擊事件,你必須將目標元素包裹在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/