Javascript ng类表达式不会动态更改

Javascript ng类表达式不会动态更改,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,完整代码如下: 视图: 目标::div.state-box鼠标插入时显示,鼠标移动时隐藏 问题:似乎ng课程风格从未改变 添加:开始时,我想更改指令中div.state-box的样式,但我不知道如何在指令中获取div.state-box元素。您必须让Angular知道您已更新了范围 通过将函数传递到作用域来执行此操作。$apply: link: function (scope, elem, attrs) { elem.bind('mouseenter', function () {

完整代码如下:

视图:

目标::div.state-box鼠标插入时显示,鼠标移动时隐藏

问题:似乎ng课程风格从未改变


添加:开始时,我想更改指令中div.state-box的样式,但我不知道如何在指令中获取div.state-box元素。

您必须让Angular知道您已更新了范围

通过将函数传递到
作用域来执行此操作。$apply

link: function (scope, elem, attrs) {
    elem.bind('mouseenter', function () {
        scope.$apply(function () {
            scope.dealOver = true;
            scope.dealOut = false;
        });
    });

    elem.bind("mouseleave", function () {
        scope.$apply(function () {
            scope.dealOver = false;
            scope.dealOut = true;
        });
    });
}

这是你的小提琴:

你必须让Angular知道你已经更新了范围

通过将函数传递到
作用域来执行此操作。$apply

link: function (scope, elem, attrs) {
    elem.bind('mouseenter', function () {
        scope.$apply(function () {
            scope.dealOver = true;
            scope.dealOut = false;
        });
    });

    elem.bind("mouseleave", function () {
        scope.$apply(function () {
            scope.dealOver = false;
            scope.dealOut = true;
        });
    });
}

这是你的小提琴:

谢谢,它能用。另一个问题是在加法部分,如何在指令中按类获取子元素?对于我的示例,我想在指令中获取div.state-box元素,这样我就可以通过element.css(“…”)来更改它。谢谢,它可以工作。另一个问题是在加法部分,如何在指令中按类获取子元素?在我的示例中,我希望在指令中获取div.state-box元素,以便可以通过element.css(“…”)对其进行更改。
link: function (scope, elem, attrs) {
    elem.bind('mouseenter', function () {
        scope.$apply(function () {
            scope.dealOver = true;
            scope.dealOut = false;
        });
    });

    elem.bind("mouseleave", function () {
        scope.$apply(function () {
            scope.dealOver = false;
            scope.dealOut = true;
        });
    });
}