我可以在一个 html 中有多个 ons-popover 吗?

Can i have multiple ons-popover in one single html?

我目前正在研究 phonegap,尝试使用温泉创建弹出窗口 UI。我在显示不同的弹出屏幕时遇到问题。不确定这里的问题是什么。

js代码

        ons.createPopover('pickup.html').then(function(popover) {$scope.popover = popover;}); 
        $scope.pk = function(e) {$scope.popover.show(e);};
        ons.createPopover('popover.html').then(function(popover) {$scope.popover = popover;}); 
        $scope.show = function(e) {$scope.popover.show(e);};

html代码

ons-button modifier="pickup_icon" id="p1" ng-click="pk('#p1')">Pick UP </ons-button>

<ons-list-item modifier="chevron" class="list-item-container" id="u2" ng-click="show('#u2')">

脚本代码

<!-- Module 1  -->
<script type="text/ons-template" id="pickup.html">
    <ons-popover direction="down" cancelable>
        <div style="text-align: center; opacity: 0.5;">
            <p>Option</p>
            <ons-button modifier="popup_btn" onclick="">Void</ons-button>
            <ons-button modifier="popup_btn" onclick="">Continue</ons-button>
        </div>
    </ons-popover>        
</script>
<!-- Module 2  -->
<script type="text/ons-template" id="popover.html">
  <ons-popover direction="right" cancelable>
    <div style="text-align: center; opacity: 0.5;">
      <p>Customize</p>
            <ons-button modifier="popup_btn" onclick="">+</ons-button>
            <input type="text" class="text-input qty_style" placeholder="1" value="">
            <ons-button modifier="popup_btn" onclick="">-</ons-button>

    </div>
  </ons-popover>
</script>

有人有过在多个弹出窗口上使用 phonegap 的经验吗?谢谢

您可以拥有任意数量的弹出窗口,是的。

您在开始时创建所有这些并将它们存储在 $scope 中。您的问题是您将它们存储在同一个变量中,即用第二个弹出窗口覆盖第一个弹出窗口。只需将它们命名为 popover1popover2 或任何您想要的名称,如下所示:

ons.createPopover('pickup.html').then(function(popover) {$scope.popover1 = popover;}); 
$scope.pk = function(e) {$scope.popover1.show(e);};

ons.createPopover('popover.html').then(function(popover) {$scope.popover2 = popover;}); 
$scope.show = function(e) {$scope.popover2.show(e);};

在这里工作:http://codepen.io/frankdiox/pen/jPgdop

希望对您有所帮助!