我在Angular网络应用中使用Bootstrap手风琴,并看到一篇文章解决了崩溃/展开图标切换的错误(请查看此post)。
帖子提到了一个涉及简单jQuery的修复。这是代码:
$('.accordion-toggle').click(function() {
if($(this).hasClass('collapsed')) {
$('.accordion-toggle').not(this).addClass('collapsed');
}
});
在我的Angular网络应用程序中使用上述jQuery修复程序有什么不可取的吗?如果是这样,使用Angular的这个bug的推荐修复是什么?
答案 0 :(得分:1)
让我们按部分分析:
1°这个
$('.accordion-toggle').click(function() {
在你的dom中,实际上应该是这样的:
<div ng-click="toggleAccordion()">Toggle accordion!</div>
<div ng-class="{collapsed: isToggled}"><!-- data --></div>
2°这个
$('.accordion-toggle').not(this).addClass('collapsed');
在你的控制器中应该是这样的:
$scope.toggleAccordion = function(){
$scope.isToggled = !$scope.isToggled;
}
这样做,解决方案更具说明性而非命令性。干杯!
PD:另一种方法是完全dom,但我不喜欢它。<div ng-click="isToggled = !isToggled">Toggle accordion!</div>
<div ng-class="{collapsed: isToggled}"><!-- data --></div>