<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js" charset="utf-8"></script>
<script src="https://unpkg.com/@uirouter/angularjs/release/angular-ui-router.min.js"></script>
</head>
<body ng-app="myapp" ng-cloak layout="column">
<a ui-sref="app.main">app.main</a>
<div ui-view></div>
<script>
var myapp = angular.module('myapp', ["ui.router"])
myapp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('app', {
url: "/",
abstract: true,
resolve: {
teste: function() {
return 'user1';
}
}
})
.state('app.main', {
url: "main/",
templateUrl: "main.html",
controller: 'UsersController',
controllerAs: 'uc',
})
.state('app.main.users', {
url: "users/",
templateUrl: 'user.html'
})
.state('app.main.users.list', {
url: "list/",
templateUrl: "list.html",
controller: 'UsersController2',
controllerAs: 'uc2'
});
});
myapp.controller('UsersController', usersController);
myapp.controller('UsersController2', usersController2);
function usersController(teste) {
console.log("UsersController instantiated");
var vm = this;
vm.user = teste;
vm.userlist = { user1: 'user1', user2: 'user2' };
}
function usersController2() {
console.log("UsersController2 instantiated");
var vm = this;
vm.user = 'user3';
vm.userlist = { user1: 'user3', user2: 'user4' };
}
</script>
</body>
</html>
<a ui-sref="app.main.users">app.main.users</a>
<div ui-view></div>
userlist: {{uc.userlist}}
userlist2: {{uc2.userlist}}
<a ui-sref="app.main.users.list">app.main.users.list</a>
user: {{uc.user}}
<div ui-view></div>