首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue & Vuex拼接--无法读取null的属性。如果没有拼接内容,渲染效果会很好

Vue & Vuex拼接--无法读取null的属性。如果没有拼接内容,渲染效果会很好
EN

Stack Overflow用户
提问于 2020-03-19 02:15:21
回答 2查看 496关注 0票数 0

当使用Vuex和computed属性时,它返回此错误。我已经想不出办法了,因为我试了几个小时来修复它。当它尝试呈现模板时,数据似乎不可用。奇怪的是,当我不使用拼接时,错误不会出现。

错误

代码语言:javascript
复制
Vue warn]: Error in render: "TypeError: Cannot read property 'slice' of null"

模板

代码语言:javascript
复制
        v-for="expert in experts"
            :key="expert.name"
            @click="goToProfile(expert.id)">
            <div class="experts__img">
                <LazyImage
                    :src="avatar(expert.file)"
                    :srcset="srcset(expert.file)"
                    :alt="expert.name"
                    :width="375"
                    :height="500"
                    :cover="true"/>
            </div>

脚本

代码语言:javascript
复制
    computed: {
    experts () {
        return this.$store.getters.experts.slice(0,3);
    },

如果我在前端部分使用拼接,我会得到相同的错误

代码语言:javascript
复制
        v-for="expert in experts.splice(0,3)"
            :key="expert.name"
            @click="goToProfile(expert.id)">
EN

回答 2

Stack Overflow用户

发布于 2020-03-19 06:19:03

错误消息表明,在此代码中:

代码语言:javascript
复制
computed: {
  experts () {
    return this.$store.getters.experts.slice(0,3);
  },
},

experts Vuex getter为空。您需要确保在呈现组件时,getter返回一个非空值。也许你一开始没有正确初始化某些数据?或者,您可以编写防御性代码来处理experts为null时的情况,这样就不会触发错误。

您没有提供experts Vuex getter的代码,所以我不能给您任何进一步的帮助。

票数 1
EN

Stack Overflow用户

发布于 2020-03-19 19:41:15

好的,所以我认为我有experts:在我的状态下是空的,但是当我把它改为experts:[]时,错误消失了,但是内容现在仍然不呈现。

为什么内容在加载后没有显示出来?我以为使用异步计算会在加载后渲染!??!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60745305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档