Class 指令不起作用,但在更改为元素指令时起作用
Class directive doesn't work, but works whenever changed to element directive
我遇到了一个非常奇怪的问题,即 class 指令不起作用。所以我正在尝试执行以下指令。
appModule.directive('btn', function () {
return {
restrict: 'C',
link: function (scope, element) {
if (element.hasClass('btn-icon') || element.hasClass('btn-float')) {
Waves.attach(element, ['waves-circle']);
}
else if (element.hasClass('btn-light')) {
Waves.attach(element, ['waves-light']);
}
else {
Waves.attach(element);
}
Waves.init();
}
}
});
然后在我的 HTML 中,我只有一个带有 class btn 的按钮,就像这样。
<button type="button" class='btn btn-success'>Hello</button>
但出于某种原因,它永远不会触发该指令。我试过使用 console.log 进行调试,只是没有输入指令本身。但是当我将 restrict: 'C' 从 C 更改为 E 时,它工作正常! (当然 HTML 有所改变。)
现在我们确实在 angularJS 之上使用了一个小框架,但没有发现其中有什么奇怪的地方。 (我最近加入了团队,框架的原始开发人员没有写任何文档并离开了团队)。
此指令不起作用的可能原因是什么?我到处搜索,但找不到有类似问题的人。
所以在看了几个小时的代码之后,我终于找到了它是什么。所以写官方代码的人在这行代码中加入了....
$compileProvider.cssClassDirectivesEnabled(false);
将其更改为 true,并且有效..
我遇到了一个非常奇怪的问题,即 class 指令不起作用。所以我正在尝试执行以下指令。
appModule.directive('btn', function () {
return {
restrict: 'C',
link: function (scope, element) {
if (element.hasClass('btn-icon') || element.hasClass('btn-float')) {
Waves.attach(element, ['waves-circle']);
}
else if (element.hasClass('btn-light')) {
Waves.attach(element, ['waves-light']);
}
else {
Waves.attach(element);
}
Waves.init();
}
}
});
然后在我的 HTML 中,我只有一个带有 class btn 的按钮,就像这样。
<button type="button" class='btn btn-success'>Hello</button>
但出于某种原因,它永远不会触发该指令。我试过使用 console.log 进行调试,只是没有输入指令本身。但是当我将 restrict: 'C' 从 C 更改为 E 时,它工作正常! (当然 HTML 有所改变。)
现在我们确实在 angularJS 之上使用了一个小框架,但没有发现其中有什么奇怪的地方。 (我最近加入了团队,框架的原始开发人员没有写任何文档并离开了团队)。
此指令不起作用的可能原因是什么?我到处搜索,但找不到有类似问题的人。
所以在看了几个小时的代码之后,我终于找到了它是什么。所以写官方代码的人在这行代码中加入了....
$compileProvider.cssClassDirectivesEnabled(false);
将其更改为 true,并且有效..