我目前正在使用此问题中的指令来更改我的页面标题.
Set Page title using UI-Router
然后,在我的app.js文件中,我将pageTitle附加到数据,如下所示:
.state('home',{ url: '/home' templateUrl: 'home.html' controller: 'homeController' data: { pageTitle: 'Home' } })
但是,例如,如果homeController有一个从服务中获取的$scope.todaysDate变量.有没有办法在我的路由器中访问该变量,所以我可以将数据和pageTitle更改为:
data: { pageTitle: 'Home ' + $scope.todaysDate }
我能够进入控制器并使用$rootScope.pageTitle =’some value’当我查看Batarang控制台工具时,我可以看到它将变量更改为“某个值”,但实际页面标题不会更改.
解决方法
也许
resolve会在这种情况下起作用.如果要确保状态控制器始终可以使用某些数据,则可以使用解决方法.例如,假设我有一个名为“calendar”的服务,它公开了一个名为“getTodaysDate”的函数.我可以做以下事情:
.state('home',{ url: '/home',templateUrl: 'home.html',controller: 'homeController',resolve:{ pageTitle: function(calendar){ return 'Home ' + calendar.getTodaysDate(); } } })
现在“pageTitle”将被解析并在状态改变之前注入“homeController”.希望这可以帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。