javascript - ons-popover 2.0 - 通过纯 JavaScript 而不是 Angular 调用

标签 javascript angularjs onsen-ui monaca onsen-ui2

我试图模仿这个,但使用 Onsen 2.0 而不使用 AngularJS:

http://codepen.io/argelius/pen/zxGEza?editors=1010

var app = ons.bootstrap();

app.controller('DropdownController', function($scope) {
  ons.createPopover('popover.html').then(function(popover) {
    $scope.popover = popover;
  });
});

简而言之,如何在 JS 中触发弹出窗口而不使用ons.bootstrap(),因为这会因不包含 AngularJS 而导致错误?

我的页面调用如下所示:

<div class="right">
   <ons-toolbar-button onclick="????">
   <ons-icon icon="ion-navicon" style="font-size: 32px; width: 1em;"></ons-icon>
   </ons-toolbar-button>
</div>

<ons-template id="popover.html">
      <ons-popover direction="down" cancelable>
        <ons-list>
          <ons-list-item modifier="tappable">Option 1</ons-list-item>
          <ons-list-item modifier="tappable">Option 2</ons-list-item>
          <ons-list-item modifier="tappable">Option 3</ons-list-item>
        </ons-list>
      </ons-popover>
    </ons-template> 

最佳答案

ons.bootstrap 仅 AngularJS 需要。如果你不包含 AngularJS,你可以毫无麻烦地忽略它。当然,您可以以相同的方式使用弹出窗口,但没有 Controller :

var popover;

ons.createPopover('popover.html').then(function(element) {
  popover = element;
});

function show(id) {
  popover.show(id);
};

在这里查看:http://codepen.io/frankdiox/pen/LGQwVM

关于javascript - ons-popover 2.0 - 通过纯 JavaScript 而不是 Angular 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34985140/

相关文章:

javascript - 通过AJAX将html数据从div复制到MySQL数据库

javascript - HTML 动态内容神秘消失

html - 点击 ons-list-item 右侧的 ons-button 时删除列表效果

javascript - 在AngularJS中使用routeParams创建templateUrl

javascript - AngularJS - 比较和替换两个数组之间的对象

javascript - Onsen-UI,如何写一个javascript,让ons-scroller保持在底部?

javascript - Firefox 插件 sdk/tabs : "ready" event doesn't fire on all page loads?

javascript - 如何使 datepicker-bootstrap 输入范围内联?

javascript - 我注意到我倾向于在 JavaScript/jQuery 中创建 DOM 对象并附加它们。这样可以吗还是我应该用 HTML 创建它们?

javascript - 使用 Angular UI Router 进行嵌套路由