使用ng-click在两个函数之间切换

时间:2015-06-22 16:23:29

标签: javascript angularjs angular-ui angular-ui-bootstrap

我正在使用来自bootstrap-UI的datepicker for angular。我想在两个函数之间切换。 now()和clear()。这是否可以在Angular的ng-click中进行?

here

切换有for row in rows: read_list.append(row) params = ['%s' for item in read_list] print(params) query = """INSERT INTO destination_table (col1, col2, col3, col4, col5, col6, col7) VALUES (%s,%s,%s,%s,%s,%s,%s);""" % tuple(params) print(query) 我想添加ng-click="today()",谢谢。

控制器代码:

clear()

编辑 - 我看到http://plnkr.co/edit/aMcKwXOSQwgnGwfNN9yI?p=preview回答,但我想探索所有选项。

1 个答案:

答案 0 :(得分: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中删除。