我有这个(部分)视图及其控制器:我的目标是以编程方式插入/删除两个子视图(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;
}
}
]);
答案 0 :(得分:3)
您的ng-controller
属性需要在依赖于其$ scope的所有元素的共同祖先上声明。你在两个<li>
元素上声明了两次(顺便提一下,它会创建两个不同的控制器实例)。尝试将其向上移动到<div class="row content">
元素。
答案 1 :(得分:1)
您没有为整个html设置控制器,因此它不会获得MDR
和ADR
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;