В AngularJS - несколько пользовательского интерфейса-сref' в один 'Уи-сref-активный'
HTML:
<!-- Order -->
<li ui-sref-active="active">
<a ui-sref="order" class="main_link">
<i class="fa fa-shopping-cart"></i>Order
</a>
<a ui-sref="order/create"><span class="plus">+</span></a>
<div class="clearfix"></div>
</li>
Я хочу добавить class="active"
на <li>
.
Всякий раз, когда вы нажимаете на <a ui-sref="order/create"><span class="plus">+</span></a>
это, то время class="active"
добавить на <li>
.
Но
Нажмите на кнопку
<a ui-sref="order" class="main_link"><i class="fa fa-shopping-cart"></i>Order</a>
что время class="active"
не прибавляется <li>
.
2 ответа:
Способ реализации
ui-router
в настоящее время не представляется возможным сделать это. Вы не можете указать, для какого конкретногоui-sref
будет активированui-sref-active
. Это, как говорится, должно быть проще настроить ваш шаблон, чтобы обернуть эти ссылки таким образом, что вы можете иметь одинui-sref-active
на одинui-sref
. По крайней мере, легче, чем регулировать поведениеui-router
.
Приложение.js
var app = angular.module('plunker', ['ui.router']); app.config([ '$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise("/home/flow"); $stateProvider.state("home", { url : '/home', templateUrl : 'home.html', }).state("contact", { url : '/contact', template : 'contact', }); }]); app.controller('MainCtrl', function($scope) { $scope.name = 'World'; });
Индекс.html
<!DOCTYPE html> <html ng-app="plunker"> <head> <meta charset="utf-8" /> <title>AngularJS Plunker</title> <script> document.write('<base href="' + document.location + '" />'); </script> <link rel="stylesheet" href="style.css" /> <script data-require="angular.js@1.2.x" src="https://code.angularjs.org/1.2.28/angular.js" data-semver="1.2.28"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script> <script src="app.js"></script> </head> <body ng-controller="MainCtrl"> <p>Hello {{name}}!</p> <li class="top" ui-sref-active="heaader_active"> <a ui-sref="home"><i class="fa fa-cloud-upload"></i> Home</a> <a ui-sref="contact"><i class="fa fa-cloud-upload"></i> contact</a> </li> <ui-view/> </body> </html>
Стиль.css
/* Put your css in here */ .heaader_active { background: red; }
Более Подробная Проверка Здесь