Javascript 使用ng click在两个功能之间切换

Javascript 使用ng click在两个功能之间切换,javascript,angularjs,angular-ui,angular-ui-bootstrap,Javascript,Angularjs,Angular Ui,Angular Ui Bootstrap,我正在使用来自引导UI的datepicker进行angular。我想在两个功能之间切换。现在清楚了。这是否可能在Angular的ng click中发生 切换有ng click=今天,我想补充清楚,谢谢 控制器代码: $scope.today = function() { $scope.dt = new Date(); }; $scope.today(); $scope.clear = function () { $sc

我正在使用来自引导UI的datepicker进行angular。我想在两个功能之间切换。现在清楚了。这是否可能在Angular的ng click中发生

切换有ng click=今天,我想补充清楚,谢谢

控制器代码:

      $scope.today = function() {
      $scope.dt = new Date();
      };
      $scope.today();
      $scope.clear = function () {
         $scope.dt = null;
      };
编辑-我看到了答案,但我想探索所有选项。

您可以创建一个切换函数,该函数将根据跟踪状态的变量调用所需的函数。然后,您只需在模板中使用此函数作为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中删除。

您可以创建一个切换函数,该函数将根据跟踪状态的变量调用所需的函数。然后,您只需在模板中使用此函数作为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中删除。

您可以创建一个切换函数,该函数将根据跟踪状态的变量调用所需的函数。然后,您只需在模板中使用此函数作为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中删除。

您可以创建一个切换函数,该函数将根据跟踪状态的变量调用所需的函数。然后,您只需在模板中使用此函数作为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 and today,我建议将其从$scope中删除。

这是解决方案,如果可以,我将添加为回答,如果您满意或不满意,请回复我。我认为这是这是解决方案的副本,如果可以,我将添加为回答,如果您满意或不满意,请回复我,我认为这是一个副本,这里是解决方案,如果它是确定的,我会添加作为回答回答回答我,如果你满意或不满意你说,我认为这是一个副本,这里是解决方案,如果它是确定的,我会添加作为回答回答回答回答我,如果你满意或不满意你说,我认为这是一个副本