In ui-router a state can hold multiple views, each with his own controller and a template
.state('dashboard', {
name: 'dashboard',
url: '/dashboard',
views: {
"view1": {
templateUrl: "path/to/view1.html",
controller: "view1Controller"
},
"view2": {
templateUrl: "path/to/view2.html",
controller: "view2Controller"
}
}
})
Then inside your state's HTML, you can link these views
<div ui-view="view1"></div>
<div ui-view="view2"></div>