angularjs - 使用 AngularJS 和 UI-Router 更新标题标签

标签 angularjs angular-ui-router

我在尝试使用当前状态的名称(通过 ui-router)设置页面标题时遇到了一个奇怪的问题。

实际上,问题不在于设置标题,问题在于标题设置为 history.pushState 之前的下一个状态的标题。因此,当我转换到新 url 时,历史记录中的第一项与当前页面同名。

我只是在玩这个样本( http://angular-ui.github.io/ui-router/sample/ ),我也设法在那里复制了它。如果您点击关于,然后回到家,您将看到 2 个不同的“家”条目。它们都指向正确的 url,但它们的名字被破坏了。奇怪的是,单击 Contact.list 和 contact.details 会正确设置历史记录。

有没有解决的办法?在管道中时,history.pushstate 会被调用吗?

最佳答案

我有一个“类似”的情况......并回答了它here .

它基本上定义了 $rootScope.$state = $state在angular的run方法里面。这允许我们访问模板中的当前状态信息。

<title ng-bind="$state.current.data.pageTitle"></title>

关键是在 run 方法中的 $rootScope 上定义它。

关于angularjs - 使用 AngularJS 和 UI-Router 更新标题标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20183222/

相关文章:

javascript - TypeError : authService. isAuthenticated 不是一个函数

javascript - 带有 codeigniter 的 ui-router 在刷新页面或使用 html5mode(true) 粘贴 URL 时给出 404

html - 如果 bootstrap.min.css 链接两次会产生任何副作用

javascript - 如何设计服务来获取需要多次调用的数据?

javascript - 如何使用 http 响应填充作用域?

javascript - 如何为多个模板拥有一个 Controller 的多个实例

AngularJS ui-router 无法加载 templateUrl

javascript - 如何通过串联在 View 中构造 AngularJS 状态参数?

angularjs - 为什么我从ng-show =“!emptyArray”和ng-hide =“emptyArray”得到不同的结果?

angularjs - 在 Angular/tornado 网站中发布请求