Changing CSS from AngularJS



从angularjs控制器更改DOM不是一个好做法。在我的应用程序中,点击链接后,我在ngView内改变html元素的类。预期的行为是,我有三个div,如果中间的一个显示或不显示,我正在改变。我是从控制器上做的。我读过,做DOM操作应该在指令中完成,但我的思想不够广泛,无法找到解决方案。如果你有什么建议,我将很高兴。

使用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的类将根据在您的作用域内设置的boolen值而更改。

最新更新