目标:我试图将$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();
});

09-25 16:28
查看更多