我有两个组件:Comments.

在Post组件中,有一个Comments组件,它有3个props :postIdnumCom( comments 数)和comments(数组).

我得到 comments 并用props 传递数组,现在我想在 comments 组件中检索数组并将其添加到数据中,这样我就可以添加/删除 comments 等.

以下是我的Comments.vue码:

props: ['id', 'numCom', 'comments'],
data: function() {
  return {
     newMessage: "",
     loading: false,
     allComments: this.comments,
     num: this.numCom,
   }
},

但这行不通.在Vue开发者工具中,我可以看到commentsprops 中充满了注释,但allComments数组是空的.

我该怎么办?

推荐答案

看起来commentsprops 在组件创建时没有值(这是唯一设置allComments的时间).

你可以:

  1. 使用v-if将组件的创建推迟到commentsprops 准备就绪,如下所示:
<comments v-if="comments" :comments="comments"></comments>
  1. 观察commentsprops 的变化,并将allComments设置为新值(除了在数据函数中初始化allComments外):
watch: {
  comments(value) {
    this.allComments = value;
  }
}

Vue.js相关问答推荐

如何 for each 动态创建的按钮/文本字段设置唯一变量?

使用 cypress 进行 e2e 测试的 vuejs 期间出现 Webpack 错误

Vue 脚本标签中更漂亮的 destruct 功能

在Vue cli项目中,Laravel api app放在哪里以及如何在vue js中调用api?

在组件之间共享 websocket 连接

Vue CLI - 编译后将配置文件保留为外部

在 Vue 中,如何使用 npm run build 将 .htaccess 包含到生产环境中?

Vue 3 如何获取有关 $children 的信息

如何在不实例化根实例的情况下使用 vue 组件?

React.js 是否有类似 Vue.js

Vuetify / Offline离线图标

我可以使用 vue.js v-if 来判断值是否存在于数组中

Vue router路由,Root Vue 没有数据?

使用 Spring Boot(VueJS 和 Axios 前端)禁止发布 403 帖子

Vue Chart.js - 条形图上的简单点/线

Vue js在列表中添加动态字段,删除和排序不起作用

仅在提交时验证 vuetify 文本字段

如何将单选按钮绑定到 vuex store ?

在鼠标悬停时动态添加和删除类

如何隔离 Vuetify 全局样式