来自 angularjs 控制器的 DOM 更改不是一个好习惯。在我的应用程序中,单击链接后,我正在更改 ngView 中的 html 元素的类。预期的行为是,我有三个 div,如果显示中间的一个,我正在改变。我正在从控制器执行此操作。我已经读过,应该在指令中进行 DOM 操作,但我的思想不够广泛,无法找到解决方案。拜托,如果你有建议,我会很高兴。
问问题
8480 次
1 回答
9
使用ng-class。
例如:
http://jsfiddle.net/rd13/eTTZj/75/
app = angular.module('myApp', []);
app.directive("click", function () {
return function(scope, element, attrs) {
element.bind("click", function() {
scope.boolChangeClass = !scope.boolChangeClass;
scope.$apply();
});
};
});
一些HTML:
<div id="page">
<div>One</div>
<div ng-class="{'my-class':boolChangeClass}">Two</div>
<div>Three</div>
<button click>Click me</button>
</div>
当您单击按钮时,中心 div 的类将根据您范围内设置的布尔值而改变。
于 2013-04-17T21:59:32.160 回答