基于参数(angular)调用特定元素上的ng show
calling ng-show on specific element based on parameter (angular)
在我的菜单中,我有很多打开子菜单的按钮。
由于我不希望在我的代码中有一个巨大的开关来检查按下了哪个按钮和要设置动画的菜单,我想尝试以下操作:
在HTML中,我调用函数toggleVis,并将要切换的元素的名称作为参数:
<ul class="sidebar-bottom-list" ng-controller="MenuController">
<li>
<a href="#/dossier" ng-click="toggleVis(showSubmenuDos); go('/dossier')" ng-class="class" class="sidemenuItem"><span class="glyphicon glyphicon-folder-open"> </span>Dossiers</a>
<div class="list-group narrow-list-group no-padding-bottom slider-top-bottom" ng-show="showSubmenuDos" ng-class="active">
<a href="#" class="list-group-item" ng-class="dosMenuItems(0)">lijst</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(1)">algemeen</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(2)">partijen</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(3)">documenten</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(4)">notas</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(5)">royementen</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(6)">urenregistratie</a>
<a href="#" class="list-group-item" ng-class="dosMenuItems(7)">voortgang</a>
</div>
</li>
<!-- imagine more menu items like this one -->
然后在我的main.js中,我有这样的toggleVis函数:
app.controller('MenuController', function($scope, $location) {
//can be triggered by ng-click="go('/path')"
$scope.go = function(path) {
$location.path(path);
};
//toggle visibillity
$scope.toggleVis = function(param) {
//$scope.{param} = !$scope.{param}
alert(param)
$scope.param = !$scope.param;
//param.ngShow = !param.ngShow;
//$scope.this = !$scope.this;
}
});
正如你所看到的,我试过一些东西,但都不起作用
有没有办法做我想做的事,或者有没有办法把这件事做得更好
我正在寻找一个解释清楚的答案。
切换视图的最简单方法是下面的示例。只需在点击var = !var
时切换值,并将其与ng-show
:组合即可
var myApp = angular.module('myApp',[]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp">
<button ng-click="show = !show">Toggle</button>
<p ng-show="show">I am getting shown and hidden!</p>
</div>
相关文章:
- 正在ng重复元素上添加事件
- Ng隐藏在Ng-click元素之外
- 混合元素的有角度的ng重复
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- 是否可以在第n个元素处重复启动ng
- AngularJs的ng-click$事件将子元素作为目标传递
- 他们是如何使用angular/jqLite find()方法按属性名称和值选择元素的?ng conf 2015
- 根据特定条件使用ng显示/ng隐藏来显示/隐藏元素
- 在 ng-if 编译后访问指令中的 DOM 元素
- 如何在更改时显示ng个重复元素的总和
- 隐藏元素直到加载完成(ng斗篷不是我需要的)
- 使用 ng-repeat访问 ng 表单元素/值
- 需要在量角器中找到使用ng中继器的li元素的数量
- 当在ng视图中加载新路由时,Tabbing(tabindex)针对错误的元素
- 列出每行2个元素的最佳方式是按角度重复ng
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 如何在AnglujarJS ng中继器中选择特定元素
- angular元素在通过ng类添加类时不起作用
- ng重复向一个元素添加条件类
- 为每个元素 ng-repeat 应用自定义 ng-attr