I want set page titles which change according to route. I mean Responsive titles.
I have a directive in my module:
mainModule.directive("pageTitle", function($state){
return {
restrict: 'A',
template: "{{title}}",
scope: {title: '=title'},
link: function (scope, elem, attr) {
scope.title=$state.current.data.title; //wrap this in $watch
console.log('page state',$state.current.data.title);
}
}
})
in my main.cshtml I have this title directive in head tags:
<title><page-title title="{{$state.current.data.title}}"></page-title></title>
And I have stateProvider in my config file:
$stateProvider
.state('a-management', {
name: 'aManState',
url: '/a-management',
template: '<div license-a permissions = permissions></div>',
data: {title: 'A Management'}
})
.state('b-management/bs', {
url: '/b-management/bs',
template: '<b-management current-user = currentUser permissions = permissions></b-management>',
data: {title: 'B Management'}
})
And I used ui-sref-active="active"
too.
Everything looks fine, but when I run website this doesn't work. I open the console and look what I have, looks like it can reach $state (by state service) but the its current property is empty.
Why can't my code reach current, so current.data too? Is there anything I missed?