3

我有一張桌子,裏面有很多pop,,用ng-repeat。代碼如下所示:表中的角度UI彈出(ng-repeat)。使用popover-is-open,我怎樣才能防止所有彈出窗口打開?

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

現在當我按下「示例」按鈕,我打開表中的所有的popovers。我怎麼能prevnent,並只打開/關閉彈出連接到我按下的按鈕?

回答

3

假設您的ng-repeat正在循環item in items track by $index,您必須更改isOpen屬性,只爲您的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> 

然後

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

工作。謝謝! :) – Praise

0

如果我得到你改正嘗試把你的表格形式標記內,並提供這些代碼

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

0

這是因爲你結合popover-is-open=""相同的屬性對所有popovers。

試着這麼做popover-is-open="isPopoverOpen" ng-click="isPopoverOpen = !isPopoverOpen"

在那裏,你將創建每一個範圍變量isPopoverOpen /每行。

+0

這一工程,但我想從裏面酥料餅接近觸發。有了這樣的代碼: Praise

+0

@ arg20你能告訴我一個例子嗎?我和popover有同樣的問題, ng-repeater – IamStalker

相關問題