手风琴标题内的复选框出现问题。
目的:
如果正在使用该部分,则标题中的复选框是一个指示符。
用户操作:
有两种方法可以将复选框的值设置为true。
第一个选项是单击复选框本身。发生这种情况时,该部分应该打开,值应为true。
第二个选项是单击标题本身。当这个动作发生时,该部分应该打开,值应该为真。
但是当复选框的值为true时,只能通过单击复选框本身来更改它。因此,这意味着当用户关闭标签并选中复选框时,标签应关闭,该复选框应保持选中状态。
问题:
我使用$event.stopPropagation();
更新标头内复选框的值。但问题是$ event.stopPropagation();阻止父级在发生变化时得到通知。因此它只更新复选框值,但不更新部分。
Plunker行动:
单击标题本身打开选项卡。该部分打开,复选框的值设置为true。在此之后单击复选框以将值设置为false。如您所见,它将值设置为false,但该部分将保持打开状态,因为它被$event.stopPropagation();
Plunker:http://plnkr.co/edit/CyM6d8Or75SqRGavTYyI?p=preview
谢谢!
布伦特
答案 0 :(得分:0)
$event.stopPropagation()
阻止调用accordion-group指令的toggleOpen
事件(展开和折叠手风琴)。
在这种情况下,您可以在checkboxClicked
事件中扩展/折叠accordion组:
$scope.checkboxClicked = function(tab,e){
$scope.accordion.groups[0].isOpen = !$scope.accordion.groups[0].isOpen; //expand and collapse the accordion group
e.stopPropagation();
}
示例强>