javascript - 从 CDN 加载的 VUE 中未显示徽章
问题描述
我有一个 VUE 页面,我尝试在其中呈现徽章。它显示文本,但只有白色。我也尝试使用具有相同结果的引导徽章。
这是页面的代码:
<!DOCTYPE html>
<html>
<head>
<!-- Load required Bootstrap and BootstrapVue CSS -->
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css" />
<!-- Load Vue followed by BootstrapVue -->
<script src="//unpkg.com/vue@latest/dist/vue.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<!-- Load the following for BootstrapVueIcons support -->
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
<link href="https://use.fontawesome.com/releases/v5.0.7/css/all.css" rel="stylesheet">
</head>
<body role="document">
<div class="panel-body">
<div id="start">
<h2>b-badge: <b-badge variant="primary">b-badge</b-badge> {{foo}} </h2>
class: <span class="badge">span</span>
</div><!-- start -->
</div>
<script src="/js/vue/start.js"></script>
</body>
</html>
这是之前从 start.js 加载的带有 VUE 代码的 javascript。
var start = new Vue({
el: '#start'
,
data: {
foo: "bar"
}
});
VUE 加载是因为我在页面中发现了foo变量的结果。但是无论我尝试加载什么类,徽章都只会显示白色文本。使用 bootstrap 和 bootstrap-vue。
这是呈现的内容:
如果我选择文本,我可以看到徽章应该在的地方有一个白色文本。
我尝试了许多其他 VUE 代码,一切正常,包括导航栏。我也尝试导入獾,但我无法做到。我只得到那个错误:
"import declarations may only appear at top level of a module"
我的猜测是,当我使用 CDN 加载的 VUE 时,我不需要进行导入。我还搜索了是否必须从标题处的另一个链接加载 Badge javascript 或 CSS,但我无法在任何地方找到它。
有什么提示吗?非常感谢你。
解决方案
您要导入的 Bootstrap 版本的问题。以下行
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.css" />
将导入几周前发布的最新版 Bootstrap,即 Bootstrap 5。
而 BootstrapVue 目前是为 Bootstrap 4.5.3 构建的。
因此,如果您将导入更改为专门导入版本4.5.3
,它应该可以正常工作。
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap@4.5.3/dist/css/bootstrap.css" />
new Vue({
el: "#start",
data() {
return {
foo: "bar"
}
}
})
<!-- Load required Bootstrap and BootstrapVue CSS -->
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap@4.5.3/dist/css/bootstrap.css" />
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css" />
<!-- Load Vue followed by BootstrapVue -->
<script src="//unpkg.com/vue@latest/dist/vue.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<!-- Load the following for BootstrapVueIcons support -->
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
<link href="https://use.fontawesome.com/releases/v5.0.7/css/all.css" rel="stylesheet">
<div id="start">
<h2>b-badge:
<b-badge variant="primary">b-badge</b-badge> {{ foo }} </h2>
class: <span class="badge">span</span>
</div>
推荐阅读
- python - 在 Gridsearchcv sklearn 中使用不同的评分指标时出现问题
- php - payu支付网关重定向后PHP会话自动被破坏
- java - 如何检查列表中是否存在小于等于另一个列表中的元素的元素
- python - 如何迭代
- liquid - Liquid Transform 连接器 Azure 逻辑应用的限制
- google-calendar-api - 无法为 GSuite 帐户创建带有 eventNamedHangout 的 Google Hangout 活动链接
- javascript - 正则表达式仅获取 CSS 样式字符串中的标记元素
- elasticsearch - 如何在弹性搜索中排除同义词过滤器中的搜索词
- ios - AVSpeechSynthesizer writeUtterance。如何查找是否将完整的话语写入文件?
- python - 目录中的 Python 导入