在我的index.html中我有我的<header>
然后<body>
带有一些子元素和 <footer>
元素。
其余代码位于每个页面的模板中,例如 templates/home.html、templates/login.html
对于此页面之一,我需要替换:
<body class="page-homepage" ng-app="historyApp" id="body">
至
<body class="page-subpage" ng-app="historyApp">
有什么好的方法吗?
我找到了一些使用 jquery 的方法,例如(以它为例):
var el = document.querySelector('#body');
el.classList.remove('page-homepage');
el.classList.add('page-subpage');
但我相信你们中的许多人已经不得不处理这个问题了。 有人可以建议我如何以 Angular 方式做到这一点吗?
最佳答案
在我看来,最好的方法是向 $rootScope 添加一个变量
$rootScope.isSub = false;
并在你的 body 元素上使用 ngClass 指令:
<body ng-class="{'page-subpage':isSub,'page-homepage':!isSub}" ng-app="historyApp">
并为每个 Controller 指定 $rootScope.isSub 值。
关于javascript - 如何在 Angular 中替换 body 类 [ 最佳方法 ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271891/