我在一个路由视图中有一个组件,该组件又是另一个路由视图的一部分,因此树是这样的:
<app>
<appContainer> // This is a route-view
<myView> // Also a route-view
<myComponent>
在myComponent我有这个条件渲染:
<b-button v-if="isAdmin(currentUser)'">
此功能表现出意外的行为
isAdmin(username) {
let userObject = this.$store.getters.getCurrentUserObject(username)
return userObject.role === 'ADMIN'
}
将userObject被调高的undefined,直到我说的函数内部调试器,并意识到页面在此它被称为多次渲染其中的一些商店data属性仍然是空导致getters返回null。可能是什么原因?为什么多次调用此方法?
PS:我的组件中有一个for循环,这可能是原因吗?
<div v-for="bike in bikes":key="bike.timestamp">
<p>{{ bike.name }}</p>
<b-img fluid v-if="bike.imagePath" v-bind:src="returnImage(bike.imagePath)"></b-img>
<p>{{ bike.timestamp}}</p>
</div>
这叫做created钩子
created() {
this.getBikes()
}
阿波罗的战车
陪伴而非守候
相关分类