【问题标题】:How to get Angular to toggle on a button and toggle off the other?如何让Angular打开一个按钮并关闭另一个?
【发布时间】:2016-04-19 20:07:34
【问题描述】:

非常简单的目标,但我似乎无法让它发挥作用。我有 2 个切换(使用离子 css)代表 2 种模式。一次只能打开一种模式,因此当您打开一种模式时,另一种模式应该关闭(视觉上和代码中)。

我已将切换开关与ng-modelng-click 绑定,但它们不起作用。这是切换的样子:

<input type="checkbox" ng-click='turnOnAC(true)' ng-model='ac'>
<input type="checkbox" ng-click='turnOnFan(true)' ng-model='fan'>

所以当turnOnAc(true)被调用时,应该设置$scope.ac = true$scope.fan = false

$scope.turnOnAC = function(bool){
    if(bool == true){
    $scope.fan = false;
        $scope.ac = true;
    }
};

这一定是我忘记了一些愚蠢的事情,但我对此视而不见!谁能帮帮我?

http://jsfiddle.net/dvtofn6L/59/

【问题讨论】:

  • 你在 jsfiddle 演示中注入了 Angular 吗?
  • 我相信是这样,因为它以离子角度存在于外部来源中。但是,这里有一个使用常规角度的版本:jsfiddle.net/dvtofn6L/61

标签: javascript angularjs ionic-framework toggle


【解决方案1】:

您没有在控制器函数中注入 $scope。所以你应该注入$scope 并且应该可以正常工作。

app.controller('NavController', function ($scope) {

如果您不在控制器中使用this,那么您可能不需要使用controller as

所以使用

<div class="nav" ng-controller="NavControlle">

而不是

<div class="nav" ng-controller="NavController as nav">

【讨论】:

    【解决方案2】:

    您的控制器函数中缺少 $scope 参数:

    app.controller('NavController', function ($scope) {...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 1970-01-01
      相关资源
      最近更新 更多