我有这个:
<div class="account-item">
<div class="account-heading" ng-class="active">
<h4 class="account-title">
<a href="#/Messages" onclick="SetActiveAccountHeading(this);">
7. @Translate("SYSTEM_MESSAGES")</a>
</h4>
</div>
</div>
<div class="account-item">
<div class="account-heading" ng-class="active">
<h4 class="account-title">
<a href="#/Info" onclick="SetActiveAccountHeading(this);">
7. @Translate("SYSTEM_INFO")</a>
</h4>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在角度我有这个:
$scope.active = "active";
Run Code Online (Sandbox Code Playgroud)
但是如何在点击时更改此项,如果用户点击菜单一旦它将处于活动状态,如果再次单击它将不活动?
K.T*_*ess 47
好吧,你有多个菜单项,你想根据点击切换班级,
您可以在控制器中创建一个表示菜单项的数组,
$scope.menuItems = ['Home', 'Contact', 'About', 'Other'];
Run Code Online (Sandbox Code Playgroud)
指定默认选择的菜单项
$scope.activeMenu = $scope.menuItems[0];
Run Code Online (Sandbox Code Playgroud)
创建一个分配所选菜单值的功能,此功能将分配$scope.activeMenu最后选择的菜单项.
$scope.setActive = function(menuItem) {
$scope.activeMenu = menuItem
}
Run Code Online (Sandbox Code Playgroud)
在HTML中
循环遍历menuItems数组并创建菜单.
在ng-class检查中,最后点击的菜单项等于重复中的项.
如果单击菜单,则调用setActive()控制器中的函数并将菜单项名称作为参数传递.
<div class="account-item" ng-repeat='item in menuItems'>
<div class="account-heading" ng-class="{active : activeMenu === item}">
<h4 class="account-title">
<a href="#/Messages" ng-click="setActive(item)"> {{ item }}</a>
</h4>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是DEMO
这是一个没有的DEMOng-repeat
Van*_*ito 11
这就是你需要的.
<div class="account-item" ng-init="active = true">
<div class="account-heading" ng-class="{'active': active === true}" ng-click="active = !active">
<h4 class="account-title">
<a href="#/Messages">7. @Translate("SYSTEM_MESSAGES")</a>
</h4>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
没有其他脚本.+1如果它有帮助.
Angular4:
<a routerLink="/user/bob" routerLinkActive="active-link">Bob</a>
<a [routerLink]="['calendar']" routerLinkActive="active">
Run Code Online (Sandbox Code Playgroud)
文档:https : //angular.io/api/router/RouterLinkActive
| 归档时间: |
|
| 查看次数: |
79887 次 |
| 最近记录: |