我有一张桌子,里面有很多弹出窗口,使用ng-repeat。代码如下所示:
<td>
<button uib-popover-template="dynamicPopover.templateUrl" type="button" class="btn btn-primary" popover-placement="left" popover-is-open="myPopover.isOpen" ng-click="myPopover.open()">Examples</button>
</td>
在我的控制器中我有这个:
$scope.myPopover = {
isOpen: false,
open: function open() {
$scope.myPopover.isOpen = true;
},
close: function close() {
$scope.myPopover.isOpen = false;
}
};
当我现在按下&#34;例子&#34;按钮我打开表中的所有弹出窗口。我怎样才能打开它,只打开/关闭我按下的按钮上的弹出框?
答案 0 :(得分:3)
假设您的ng-repeat
正在循环item in items track by $index
,您必须更改isOpen
的{{1}}属性。
它应该是这样的(我没时间测试它)。
item
然后
<button uib-popover-template="dynamicPopover.templateUrl" type="button" class="btn btn-primary" popover-placement="left" popover-is-open="item.isOpen" ng-click="openPopover($index)">Examples</button>
答案 1 :(得分:0)
如果我找到你正确的方法,请尝试将表格放在表格标签中并提供此代码
<form ng-submit="$event.preventDefault()">
答案 2 :(得分:0)
这是因为你将popover-is-open=""
绑定到所有popovers的同一属性。
尝试popover-is-open="isPopoverOpen" ng-click="isPopoverOpen = !isPopoverOpen"
在那里,您将为每个范围/每行创建一个变量isPopoverOpen
。