Ng-如果不工作

时间:2016-06-27 14:21:29

标签: angularjs

我有这个(部分)视图及其控制器:我的目标是以编程方式插入/删除两个子视图(ADR和MDR)。

我研究了ng-if指令,并尝试在我的测试中应用它,但似乎效果不好因为当我点击链接时没有显示视图。

有帮助吗?

Tools -> Options -> Environment -> Keyboard -> Reset -> OK
drfmControllers.controller('functionalitiesHandler', ['$scope',

   function ($scope) {


       $scope.setMDRFunction = function() {
           clearAll();
           $scope.MDR = true;
           console.log("MDR "+$scope.MDR);
       }

       $scope.setADRFunction = function() {
           clearAll();
           $scope.ADR = true;
           console.log("ADR "+  $scope.ADR);
       }

       function clearAll(){
           $scope.MDR = false;
           $scope.ADR = false;
       }
    }
]);

3 个答案:

答案 0 :(得分:3)

您的ng-controller属性需要在依赖于其$ scope的所有元素的共同祖先上声明。你在两个<li>元素上声明了两次(顺便提一下,它会创建两个不同的控制器实例)。尝试将其向上移动到<div class="row content">元素。

答案 1 :(得分:1)

您没有为整个html设置控制器,因此它不会获得MDRADR ng-if值。

您可以处理它在外部div中添加ng-controller并从列表中删除。

<div class="container-fluid" ng-controller="functionalitiesHandler">

工作jsFiddle进行演示。

答案 2 :(得分:0)

ng-controller =&#34; functionalitiesHandler&#34;应该在您引用该控制器的代码的所有div的父div中声明。例如在这个div中:
    div class =&#34; container-fluid&#34; NG-控制器=&#34; functionalitiesHandler&#34;