<template>
<div class="chat">
<div class="chat-bubble" v-for="(message, index) in messages" :key="index">
<div>{
{ message.content }}</div>
<span v-if="showTyping && index === messages.length - 1">{
{ typing }}</span>
</div>
</div>
</template>
<script>
export default {
name: 'Chat',
data() {
return {
messages: [],
typing: '',
showTyping: false,
intervalId: null
}
},
created() {
this.addMessage({
content:
`
为什么如此?因为在青春时代,生活充满了奇特而辛酸的不可思议的事。
Why is this so? Because in youth, life is filled with strange and poignant incredible things.
`
})
},
methods: {
addMessage(message) {
this.messages.push({ ...message, content: '' })
let i = 0
const msgLen
【vue】仿chatGPT逐个打字效果
于 2023-05-03 17:29:00 首次发布
该代码示例展示了一个使用Vue.js编写的聊天组件,动态模拟用户打字过程。通过数据绑定显示消息列表,当显示最后一条消息时,会展现打字状态。方法`addMessage`用于添加新消息,并随机生成打字延迟,创建逼真的打字动画效果。当全部内容输入完成后,会随机延迟一段时间后添加省略号,模拟用户可能的下一条消息。
摘要由CSDN通过智能技术生成