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

===============>>#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的类将根据示波器中设置的boolen值而更改。

  ask by Martin Palis translate from so

未解决问题?本站智能推荐: