这很奇怪但很简单:
我有一个导航栏,我想从中填充动态b-nav
s 。我的 vuejs 组件的模板如下所示:bootstrap-vue
b-nav-item
<template>
<b-nav vertical class="px-2">
<b-nav-item
v-for="application in applications"
:key="application.id"
to="#">
{{ application.verboseName }}
</b-nav-item>
<b-nav-item :to="{ name: 'BaseSettings' }">
<font-awesome-icon :icon="['fas', 'cogs']" class="fa-fw mr-1"/>
Settings
</b-nav-item>
</b-nav>
</template>
第二个b-nav-item
是静态的,但第一个应该动态填充applications
,我在组件中这样检索:
<script>
// ...
apollo: { applications: INSTALLED_APPLICATIONS_QUERY },
// ...
</script>
问题是它根本不起作用。我已经完成了其他列表,其中填充了 graphql 在其他组件中检索到的内容,并且工作正常。此外,当我尝试提供一些本地数据来测试它时:
data () {
return {
apps: [ // used for tests
{ id: '1', verboseName: 'Test1' },
{ id: '2', verboseName: 'Test2' },
{ id: '3', verboseName: 'Test3' },
{ id: '4', verboseName: 'Test4' }
]
}
}
<b-nav vertical class="px-2">
<b-nav-item
v-for="application in apps"
:key="application.id"
to="#">
{{ application.verboseName }}
</b-nav-item>
...
</b-nav>
它工作得很好......当我在我的应用程序的 /graphql 界面上尝试我的 graphql 查询时,它也会正确返回所需的数据。我承认这次我不知道在哪里看..