使用 ng-click 在两个函数之间切换
Using ng-click to toggle between two functions
我正在为 angular 使用 bootstrap-UI 的日期选择器。我想在两个功能之间切换。现在()和清除()。这可能在 Angular 的 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 答案,但我想探索所有选项。
您可以创建一个 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
.
中删除
我正在为 angular 使用 bootstrap-UI 的日期选择器。我想在两个功能之间切换。现在()和清除()。这可能在 Angular 的 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 答案,但我想探索所有选项。
您可以创建一个 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
.