当 popover 指令起作用时,什么会导致 popover 组件失败
What would cause a popover component to fail when popover directives work
我正在尝试使用 BootstrapVue 的弹出窗口。据我所知,我正在导入我需要的一切
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css"/>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-vue@2.7.0/dist/bootstrap-vue.common.min.js"
integrity="sha256-NTImazhsLEaQ0a59ZMLLxaOfFnKZNLJbbTcZh9YBM58="
crossorigin="anonymous"></script>
我可以使用弹出窗口
<div id="general-info" class="questionMarkHelp" v-b-popover.hover.bottom="'På denna sida kan du se en sammanställning av statistik för din kommun'">
但是当我尝试使用 b-popover 时,它不起作用
<font-awesome-icon id="investigations" icon="question-circle" size="2x"/>
<b-popover target="investigations" placement="bottom" triggers="hover">
Här kan du statistik över utredningar.<br>
Du kan se hur många utredningar din kommun har.<br>
Hur många som är pågående.<br>
Hur många som ledde till insats.<br>
Hur många som inte ledde till insats
</b-popover>
如您所见,我希望能够使用
标记对弹出框内的文本进行格式化。否则我可能只会满足于使用指令类型。
如果您使用的是 Bootstrap-Vue
,则无需导入 jQuery
、popper
和 bootstrap.js
。您可以阅读需要导入的内容 here.
您唯一需要从 bootstrap 导入的是他们的 CSS/SCSS。 (如果您将 jQuery
和 popper
用于其他用途,您仍然可以导入它们,但这不是必需的)
我通过 Bootstrap-Vue
.
中的 Vue 特定组件处理的所有其他内容
如果我不导入不必要的文件,您的代码可以正常工作,正如您在下面的代码片段中看到的那样。 (我已经用 Bootstrap-Vue 图标组件替换了你的 font-awesome-icon,这应该没有什么区别)。
另外需要注意的是v-b-popover
指令支持html
修饰符将你传入的字符串格式化为HTML.
编辑:
看起来 bootstrap-vue.common.min.js
不支持 b-popover
组件,将其切换为导入 bootstrap-vue.min.js
而不是修复组件。
new Vue({
el: "#app",
data() {
return {
text: "Här kan du statistik över utredningar.<br>Du kan se hur många utredningar din kommun har.<br>Hur många som är pågående.<br>Hur många som ledde till insats.<br>Hur många som inte ledde till insats"
}
}
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@2.7.0/dist/bootstrap-vue.css"/>
<!-- Import Vue and Bootstrap-Vue Javascript-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-vue@2.7.0/dist/bootstrap-vue.min.js"></script>
<!-- Only imported for this example -->
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
<div id="app" class="container">
<!-- Using the directive with the HTML modifier -->
<b-icon v-b-popover.html.hover.bottom="text" icon="question"></b-icon>
<!-- Using the component -->
<b-icon id="investigations" icon="info"></b-icon>
<b-popover target="investigations" placement="bottom" triggers="hover">
<span v-html="text"></span>
</b-popover>
</div>
我正在尝试使用 BootstrapVue 的弹出窗口。据我所知,我正在导入我需要的一切
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css"/>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-vue@2.7.0/dist/bootstrap-vue.common.min.js"
integrity="sha256-NTImazhsLEaQ0a59ZMLLxaOfFnKZNLJbbTcZh9YBM58="
crossorigin="anonymous"></script>
我可以使用弹出窗口
<div id="general-info" class="questionMarkHelp" v-b-popover.hover.bottom="'På denna sida kan du se en sammanställning av statistik för din kommun'">
但是当我尝试使用 b-popover 时,它不起作用
<font-awesome-icon id="investigations" icon="question-circle" size="2x"/>
<b-popover target="investigations" placement="bottom" triggers="hover">
Här kan du statistik över utredningar.<br>
Du kan se hur många utredningar din kommun har.<br>
Hur många som är pågående.<br>
Hur många som ledde till insats.<br>
Hur många som inte ledde till insats
</b-popover>
如您所见,我希望能够使用
标记对弹出框内的文本进行格式化。否则我可能只会满足于使用指令类型。
如果您使用的是 Bootstrap-Vue
,则无需导入 jQuery
、popper
和 bootstrap.js
。您可以阅读需要导入的内容 here.
您唯一需要从 bootstrap 导入的是他们的 CSS/SCSS。 (如果您将 jQuery
和 popper
用于其他用途,您仍然可以导入它们,但这不是必需的)
我通过 Bootstrap-Vue
.
如果我不导入不必要的文件,您的代码可以正常工作,正如您在下面的代码片段中看到的那样。 (我已经用 Bootstrap-Vue 图标组件替换了你的 font-awesome-icon,这应该没有什么区别)。
另外需要注意的是v-b-popover
指令支持html
修饰符将你传入的字符串格式化为HTML.
编辑:
看起来 bootstrap-vue.common.min.js
不支持 b-popover
组件,将其切换为导入 bootstrap-vue.min.js
而不是修复组件。
new Vue({
el: "#app",
data() {
return {
text: "Här kan du statistik över utredningar.<br>Du kan se hur många utredningar din kommun har.<br>Hur många som är pågående.<br>Hur många som ledde till insats.<br>Hur många som inte ledde till insats"
}
}
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@2.7.0/dist/bootstrap-vue.css"/>
<!-- Import Vue and Bootstrap-Vue Javascript-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-vue@2.7.0/dist/bootstrap-vue.min.js"></script>
<!-- Only imported for this example -->
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
<div id="app" class="container">
<!-- Using the directive with the HTML modifier -->
<b-icon v-b-popover.html.hover.bottom="text" icon="question"></b-icon>
<!-- Using the component -->
<b-icon id="investigations" icon="info"></b-icon>
<b-popover target="investigations" placement="bottom" triggers="hover">
<span v-html="text"></span>
</b-popover>
</div>