问题解决了,虽然我不知道为啥(写程序以来, 第一次彻底放弃思考了 ,以前的问题我一般都会刨根问底的)
我就改了一个地方,就一切正常了.不会出现唯独 concat 方法不会触发 v-for 更新的问题, 如下
在我主题中说的子组件中其实还套用了另一个组件,叫 new-message, 我在其外围包裹了一个 div 后, v-for 的功能突然就一切正常了, 不会变得稀奇古怪的.
```
<template>
<div>
<p v-for="item in messageItems" :key="
item.id">{{item.content}}</p>
<div> <!-- 在此添加一个 div 来包裹 new-message 这个组件, 一切就都正常了 -->
<new-message ref="newMessage" @
on-success-valid="handleNewMessage"></new-message>
</div>
</div>
</template>
<script>
export default {
props: {
messageItems: {
type: Array
}
},
//.....
}
</script>
```
---------------
顺便回复下楼上一些好心大佬的回答:
1. 我使用 push 也不会触发更新
2. 我检查了 key 是否重复,随后我故意重复发现 vue 会报错,也证明了我数据应该没有问题
3. 用 this.data = [] this.data = res 这种语法赋值会触发更新, 我已经说了,是唯独 concat 函数去更新不会触发 v-for 的更新
--------------
总结:
第一次对 vue 产生了心理阴影, 也怪我不想看源码(实际上是太菜看的慢,一知半解=不懂, 所以只能不停的测试测试测试)
睡了, 让我自闭会