javascript - v-for 组件不在生产机器上渲染,但在本地工作

标签 javascript twitter-bootstrap vue.js bootstrap-vue

我正在尝试使用 vue 的 v-for 动态渲染 Bootstrap 选项卡(b-tabs)。在我的本地机器上工作起来就像一个魅力,但在投入生产时无法渲染。

我使用了 vue chrome 调试器来确认我的所有后端数据都符合预期。控制台没有记录任何错误。同事能够重现工作的本地版本和不正确的生产实例。

我还尝试添加偏好对话框选项卡组件的手动副本。该手动组件工作正常,但 v-for 组件均未渲染。事实上,在检查元素时它们甚至不存在于 DOM 中。

<div v-for="cat in allcategories">
    <b-tab :title="cat">
        <PreferenceDialogTab :preferencesString="cat"/>
    </b-tab>
</div>

我的代码查看一个巨大的 Blob 并提取所有独特的类别。然后,它为每个类别创建一个 Bootstrap 选项卡,并在选项卡中显示与当前类别匹配的所有对象。

再次,在我的本地计算机上工作就像一个魅力,但在生产中,页面加载(所有其他标题等可见),但没有创建任何选项卡。好奇是什么导致了这种差异。

最佳答案

当使用v-for时在Vue中,还需要提供唯一的Vue key对于循环中的每个根元素/组件,也 b-tab 需要是 b-tabs 的直接子级 ...你不能将它们分别包装在 <div> 中:

<b-tabs>
    <b-tab v-for="(cat, idx) in allcategories" :title="cat" :key="idx">
        <PreferenceDialogTab :preferencesString="cat"/>
    </b-tab>
</b-tabs>

关于javascript - v-for 组件不在生产机器上渲染,但在本地工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331049/

相关文章:

JavaScript子类继承: unexpectedly works even without subclass constructor - why is it needed?

javascript - PHP 邮件表单不会将输入发送到电子邮件

javascript - 加载页面时打开 Bootstrap 菜单

javascript - 根据来自 axios 的响应检查复选框

javascript - 在javascript中从现有数组创建自定义数组

javascript - 在 Javascript 中将 Math.exp() 与 BigDecimal 一起用于大型 float

html - 在高度为 100% 的 Bootstrap 4 flex 容器上填充

css - 水平居中对齐缩略图

javascript - Vue中根据数据更改表格单元格的背景

typescript - Vue 无法使用 Typescript 加载 SignalR Core