从AngularJS更改CSS

Mar*_*lis 8 javascript angularjs angularjs-directive

来自angularjs控制器的DOM更改不是一个好习惯.在我的应用程序中,点击链接后,我正在更改ngView中的html元素的类.预期的行为是,我有三个div,如果中间显示或不显示,我正在改变.我是从控制器这样做的.我已经读过,做DOM操作应该在一个指令中完成,但是我的想法不够广泛,无法找到解决方案.如果您有任何建议,我会很高兴.

Stu*_*tuR 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();
        });
    };
});
Run Code Online (Sandbox Code Playgroud)

一些HTML:

<div id="page">
    <div>One</div>
    <div ng-class="{'my-class':boolChangeClass}">Two</div>
    <div>Three</div>
    <button click>Click me</button>
</div>
Run Code Online (Sandbox Code Playgroud)

单击该按钮时,中心div的类将根据示波器中设置的boolen值而更改.