gpt4 book ai didi

angularjs - 根据 Controller 中的数据使用 Angular 和 UI-Router 设置页面标题

转载 作者:行者123 更新时间:2023-12-04 15:44:09 25 4
gpt4 key购买 nike

我目前正在使用在这个问题中找到的指令来更改我的页面标题。

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
}

我可以进入 Controller 并使用 $rootScope.pageTitle = 'some value'我可以看到它将变量更改为 'some value'当我查看 Batarang 控制台工具时,实际页面标题并没有改变。

最佳答案

也许是 resolve在这种情况下会起作用。如果您想确保状态 Controller 始终可以使用某些数据,您可以使用解析。例如,假设我有一个名为“日历”的服务,它公开了一个名为“getTodaysDate”的函数。我可以执行以下操作:

.state('home', {
url: '/home',
templateUrl: 'home.html',
controller: 'homeController',
resolve:{
pageTitle: function(calendar){
return 'Home ' + calendar.getTodaysDate();
}
}
})

现在“pageTitle”将在状态改变之前被解析并注入(inject)“homeController”。希望这可以帮助。

关于angularjs - 根据 Controller 中的数据使用 Angular 和 UI-Router 设置页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24703982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com