AngularJS ui-router current state name
by manoj
HTML
<script src="http://txt.fliglio.com/ui-router.js"></script>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner"><div class="container">
<ul class="nav">
<li ng-class="{ active: $state.includes('home') }"><a href="#/">Home</a></li>
<li ng-class="{ active: $state.includes('settings') }"><a href="#/settings">Settings</a></li>
</ul>
<p class="navbar-text" ui-view="hint"></p>
</div></div>
</div>
<div class="container" style="margin-top:60px" ui-view ></div>
<hr>
<pre>
$state = {{$state.current.name}}
$stateParams = {{$stateParams}}
</pre>
CSS
@import url('http://txt.fliglio.com/bootstrap.css');
JavaScript
/* myApp module */
angular.module('myApp', ['ui.state', 'accountSettings'])
.config(['$stateProvider', '$routeProvider', '$urlRouterProvider',
function ($stateProvider, $routeProvider, $urlRouterProvider) {
var home = {
name: 'home',
url: '/',
template:
'<div class="hero-unit">'+
'<h1>\'Allo, \'Allo!</h1>'+
'<ul><li ng-repeat="thing in awesomeThings">{{thing}}</li></ul>'+
'<p>installed. Check out <a href="#/settings">settings</a> to see some cool stuff</p></div>'+
'</div>',
controller: ['$scope', function ($scope) {
$scope.awesomeThings = ['AngularJS', 'AngularJS-Ui-Router'];
}]
};
$stateProvider
.state(home);
}])
.run(['$rootScope', '$state', '$stateParams', function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
$state.transitionTo('home');
}]);
/* accountSettings Module */
angular.module('accountSettings', ['ui.state'])
.config(['$stateProvider', '$routeProvider', '$urlRouterProvider',
function ($stateProvider, $routeProvider, $urlRouterProvider) {
var settings = {
name: 'settings',
url: '/settings',
abstract: true,
template:
'<div class="row"><div class="span3"><div class="pa-sidebar well well-small">'+
'<ul class="nav nav-list">'+
'<li class="nav-header">Settings</li>'+
'<li ng-class="{ active: $state.includes(\'settings.user.default\')}"><a href="#/settings" >User Details</a></li>'+
'<li ng-class="{ active: $state.includes(\'settings.quotes\')}"><a href="#/settings/quotes" >User Quotes</a></li>'+
'</ul><hr>'+
'<div...