javascript - Angular $locationProvider 不改变 .url()

标签 javascript angularjs

目标:我正在尝试添加 $location.url() 的值作为我的 <body> 的一个属性标签添加页面特定样式。当路线改变时它应该自动改变。

预期行为:

  • 当您第一次登陆页面时,路线会传递到 <body>
  • 当路由更改时,新路由将传递到 <body>

观察到的行为:

  • 当您首次登陆页面时,路线已成功传递至<body>
  • 当路线更改时,<body> 中的路线保持不变

JS

app.controller('MainController', ['$scope', 'appData', '$location', '$rootScope', function ($scope, appData, $location, $rootScope) {

$scope.location = $location.url();

// Unrelated code follows...

HTML

<body data-page="{{ location }}" ng-controller="MainController">

现在,我希望能够使用 [data-page="/login"] {} 对其进行样式设置等等

最佳答案

我建议查看 $routeChangeSuccess事件。在这里您可以每次更新您的位置。

$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
    $rootScope.location = $location.url();
});

关于javascript - Angular $locationProvider 不改变 .url(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254528/

相关文章:

javascript - 带有 ocLazyload 的 webpack 无法同时加载 Controller 和模板文件

javascript - 预期有一个赋值或函数调用,但在 React 中看到了表达式 no-unused-expressions 错误

javascript - 如何检查数组中值的出现

javascript - 使用 ng-cloak 创建启动画面

macos - 在 CentOS 上启动 selenium 服务器

javascript - 将图像标题区域与图像对齐

javascript - 单击时将分区永久 append 到元素

javascript - 在 Javascript 中向当前时间添加一分钟

javascript - 在 Javascript 中解析 ISO 8601 时间间隔

javascript - 选中/取消选中复选框时切换特定的 Highcharts