我有一个角度应用程序,使用左侧菜单,带有显示/隐藏菜单栏,左侧菜单上显示/隐藏的操作是“数据操作”。我使用的是Smart Admin,代码如下
<span class="minifyme" data-action="minifyMenu"> <i class="fa fa-arrow-circle-left hit"></i> </span>
触发数据操作时,将更改正文部分类或为其添加新类。
我的要求是对班级的改变做点什么。我有一个关于身体的指令来观看课程。
指令代码肯定会在页面加载时被调用,但是当类被更改时,即在执行数据操作时,它不会被调用。
(function () {
var app = angular.module("myApp");
var myDirective = [function () {
return {
restrict: "A",
link: function (scope, element, attrs) {
initialize();
scope.$watch(function () {
return element.attr('class');
}, function (newValue) {
if (element.hasClass('test')) {
console.log('has class.');
} else {
console.log('classremoved.');
}
});
function initialize() {
};
}
};
}];
app.directive('myDirective', myDirective);
}());
如何解决此问题。
答案 0 :(得分:1)
您需要在$ apply()方法中执行此操作,因为数据操作超出了角度上下文。