vue.js - 在渲染期间停止对属性的空警告

标签 vue.js vuejs2

我有一个组件可以呈现它的模板,例如一个看起来像这样的跨度:

<span>{{item.name}}</span>

项目作为属性传入:

props: {
        item: null
    },

当组件首次安装时,项目为空,因此当渲染发生时,我在日志中得到了这个:

[Vue warn]: Error in render: "TypeError: Cannot read property 'name' of null"

如果我像这样创建一个计算属性:

computed: {
        name() {
            if (this.item != null) {
                return this.item.name
            }
        }
    },

然后在渲染中使用 name 而不是 item.name 它工作正常,但是有没有办法告诉 Vue 停止提示子属性为 null,因为它似乎并不关心根属性为 null?

也许@LinusBorg 知道?

最佳答案

这不是特定于 Vue 的。 Vue 只是警告你有一个 javascript TypeError。导致错误的原因是您无法在 javascript 中访问 null 值的属性。

我只是将您的 item Prop 的默认值设置为空对象而不是 null:

props: {
  item: { type: Object, default: () => ({}) }
}

关于vue.js - 在渲染期间停止对属性的空警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48572066/

相关文章:

javascript - 在 Axios 拦截器中调用 Vuex mutator

javascript - 如何定义新路由器?

javascript - 从 Firebase Vuex 中删除项目

vue.js - VUE 中的 CKEditor5 自定义构建

javascript - 在 TypeScript 文件中导入 Vue 组件

javascript - VueJS : Obtaining dynamic component information in method run via v-bind

javascript - Vue Js 中的复选框数组

html - Webpack Pug/HTML 加载器在生产模式下将大写字母转换为小写字母

javascript - V-for 和 v-if,只复制父元素

javascript - 替换整个 vue.js 容器