javascript - 另一个 v-for 更新 props 的问题
问题描述
:key 已设置,前置功能正确完成了工作,但 v-for 没有更新。在 Vue 控制台中,对象“posts”已正确更新。我真的不明白为什么 v-for 不听修改。
<template>
<div>
<post-form v-on:newpost="prepend($event)"></post-form>
<div id="posts" class="pt-4">
<div v-for="post in posts" :key="post.id" class="alert" :class="alertClass(post.type_id)">
{{ post.body }}
<small>{{ post.user.name }} {{ post.updated_at | fromNow }}</small>
</div>
</div>
</div>
</template>
<script>
export default {
props:['posts'],
methods: {
alertClass(type) {
switch(type) {
case 1:
return "alert-secondary";
break;
case 2:
return "alert-success";
break;
case 3:
return "alert-danger";
break;
case 4:
return "alert-warning";
break;
case 5:
return "alert-info";
break;
default:
return "alert-light";
}
},
prepend(event) {
this.posts.unshift(event);
}
},
filters: {
fromNow: function (date) {
return moment(date).fromNow();
}
}
}
</script>
编辑 :
“帖子”看起来像这样:
[
{
body: "dsf",
created_at: "2019-02-15 08:55:16",
deleted_at: null,
id: 19,
type_id: 1,
updated_at: "2019-02-15 08:55:16",
user: Object,
user_id: 3
}
]
我在其他类似的线程中没有找到遮篷,如果它是重复的,对不起
解决方案
推荐阅读
- python - Selenium 使用现有配置文件 python 打开 Chrome
- json - 使用 curl 收集数据时出现错误/非法格式的 URL 错误
- vim - 如何创建关闭快捷方式:从vim调用OpenTerminal()?
- flutter - 如果使用 Dart 退出,如何将双精度舍入到小数点后 2 位并删除零?
- laravel - 如何使用 hangoutLink 创建 Google 日历活动(Google meet)
- java - JAXB 从 StringReader 解组到带有命名空间的 xml
- c - 将文件读入链表时出现分段错误
- node.js - 如何通过 browserify 在客户端 js 上使用 require
- r - 应用程序 R 闪亮中的情节安装错误
- c++ - 这是未定义的,因为我 memcpy'ed 一个 non_trivially_copyable 类型?