簡體   English   中英

表格中的Angular UI popover(ng-repeat)。 使用popover-is-open,如何防止所有彈出窗口打開?

[英]Angular UI popover in table (ng-repeat). Using popover-is-open, how can I prevent all popovers to open?

我有一張桌子,里面有很多彈出窗口,使用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;
    }
};

當我現在按下“示例”按鈕時,我打開表中的所有彈出窗口。 我怎么能打開那個並且只打開/關閉我按下的按鈕上的popover?

假設你的ng-repeatitem in items track by $index循環item in items track by $index ,你必須更改你的itemisOpen屬性。

它應該是這樣的(我沒時間測試它)。

<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>

然后

function openPopover(i){
  $scope.items[i].isOpen = true;
}

如果我找到你正確的方法,請嘗試將表格放在表格標簽中並提供此代碼

<form ng-submit="$event.preventDefault()">

這是因為你將popover-is-open=""綁定到所有popovers的同一屬性。

嘗試類似popover-is-open="isPopoverOpen" ng-click="isPopoverOpen = !isPopoverOpen"

在那里,您將為每個范圍/每行創建一個變量isPopoverOpen

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM