2015-06-22 75 views
0

我使用bootstrap-UI中的datepicker獲取角度。我想在兩個功能之間切換。現在()和clear()。這可能在Angular的ng-click中嗎?使用ng-click在兩個函數之間切換

http://plnkr.co/edit/aMcKwXOSQwgnGwfNN9yI?p=preview

肘有ng-click="today()"我想補充clear()吧,謝謝。

控制器代碼:

 $scope.today = function() { 
     $scope.dt = new Date(); 
     }; 
     $scope.today(); 
     $scope.clear = function() { 
     $scope.dt = null; 
     }; 

編輯 - 我看到this的答案,但我想探討所有的選項。

+1

這裏是解決方案,如果它是好的我會添加爲答案http://plnkr.co/edit/G4Tohfia9x2SjDQutrPj?p=preview – PavanAsTechie

+0

回覆我,如果你滿意或不 – PavanAsTechie

+1

正如你所說,我認爲這是一個重複http://stackoverflow.com/questions/25936286/angularjs-ng-click-toggling-between-functions –

回答

3

您可以創建一個toggle()函數,該函數將根據跟蹤狀態的變量調用所需的函數。然後你可以簡單地在你的模板中使用這個函數作爲ng-click="toggle()"

就是這樣。

var toggled = false; 
$scope.toggle = function() { 
    if (toggled) { 
     $scope.clear(); 
    } else { 
     $scope.today(); 
    } 
    toggled = !toggled; 
}; 

一個較短的版本

var toggled; 
$scope.toggle = function() { 
    $scope[toggled ? "clear" : "today"](); 
    toggled = !toggled; 
}; 

但如果clear()today()不再在模板叫我建議採取出來的$scope