我正在尝试在 Polymer-Element 中实现 Bootstrap 模态。我尝试了几种方法,但收效甚微。任何建议,将不胜感激。我仍在尝试围绕所有这些新标准进行思考,所以我确定我遗漏了一些东西。
我想要什么
<body>
<x-foo></x-foo>
</body>
x-foo 有 x-bar 的地方
<polymer-element name="x-foo" extends="div">
<template>
<x-bar></x-bar>
</template>
<script>
Polymer('x-foo', {
// goodness
})
</script>
</polymer-element>
<polymer-element name="x-bar">
<template>
<style>
.modal {
// local style
}
</style>
<div class="modal fade">
<!-- ... rest of Bootstrap Modal tags / content -->
<div id="awesome" on-click="awesome"></div>
</div>
</template>
<script>
Polymer('x-bar',{
ready : function() {
window.$(this.$.modal).modal({show:false});
},
show : function() {
window.$(this.$.modal).modal('show');
},
awesome : function() {
alert('awesome');
}
});
</script>
</polymer-element>
现在这行得通,有点。在 x-bar 上调用 show() 将显示弹出窗口,但不会显示本地样式。样式未显示是有意义的,因为 bootstrap.js 已删除 div.modal 并将其附加到主体。但是 div.awesome 的点击处理程序永远不会触发。
现在我尝试了几种变化,结果都相似。请注意,我不依赖于引导模式。但我对实现此标签的最佳实践和/或如何实现附加到主体以进行显示的自定义弹出窗口感兴趣(当然还有所有的 Web 组件优点)。