Posting this as an answer since I don't have enough reviews for comments. As Mohammad mentioned, you need a ui-view inside the parent state template. ui-view in your index html only allows you to display the parent state ( test state), but in order for the .child1 state to be displayed, it needs another ui-view inside its parent state, which in this case is the test state.
Thus, configure the test state template containing ui-view :
angular.module('uiRouterSample.contacts', ['ui.router']) .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) { $stateProvider .state('test',{ url:'/test', template:'<div ui-view/> <a ui-sref="test">Parent</a> -> <a ui-sref=".child1">child1</a></div>', controller: ['$scope', '$state', 'contacts', 'utils', function ( $scope, $state, contacts, utils) { }]}) .state('test.child1',{ url:'/child1', template:'Child template working fine' }) }]
Cozyazure
source share