加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 根据控制器中的数据,使用Angular和UI-Router设置页

发布时间:2020-12-17 07:00:42 所属栏目:安全 来源:网络整理
导读:我目前正在使用此问题中的指令来更改我的页面标题. Set Page title using UI-Router 然后,在我的app.js文件中,我将pageTitle附加到数据,如下所示: .state('home',{ url: '/home' templateUrl: 'home.html' controller: 'homeController' data: { pageTitle:
我目前正在使用此问题中的指令来更改我的页面标题.

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”.希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读