Установка data : {}
статическая.
см похож:
Если вы хотите некоторых динамических использовании функции resolve : {}
Некоторых ссылки на примеры и Q & А вокруг решимости
ПРОДЛИТЕ: простой (действительно наивный, но работает) пример того, как использовать resolve
и $rootScope
управлять название браузера (check it here):
$stateProvider
.state('home', {
url: "/home",
templateUrl: 'tpl.html',
resolve: {
'title': ['$rootScope', function($rootScope){
$rootScope.title = "Other title";
}],
}
})
.state('parent', {
url: "/parent",
templateUrl: 'tpl.html',
resolve: {
'title': ['$rootScope', function($rootScope){
$rootScope.title = "Title from Parent";
}],
}
})
.state('parent.child', {
url: "/child",
templateUrl: 'tpl.html',
controller: 'ChildCtrl',
resolve: {
'titleFromChild': ['$rootScope', function($rootScope){
$rootScope.title = "Title from Child";
}],
}
})
И это может быть HTML
<!DOCTYPE html>
<html ng-app="MyApp" ng-strict-di>
<head>
<title>{{title}}</title>
Пробег: here
Задача здесь - что делать на навигацию от ребенка к родителю, но это может быть сделано путем перемещения, что установка в контроллер и работать с $scope.$on('detsroy'
...
Вот adjusted plunker
.state('parent.child', {
url: "/child",
templateUrl: 'tpl.html',
controller: 'ChildCtrl',
// no resolve, just controller fills the target
})
.controller('ChildCtrl', ['$rootScope', '$scope', function ($rootScope, $scope) {
var title = $rootScope.title;
$rootScope.title = "Title from Child";
$scope.$on('$destroy', function(){$rootScope.title = title});
}])
Вы хотите поместить 'slug' в свой заголовок браузера? но тогда что будет титулом для других государств? –