- 22
- 0
像TIM的聊天窗口这样,点击不同的聊天对象,之前的聊天记录还在
之前想的是聊天记录放vuex,然后同时只能开一个聊天窗口,每次打开新的聊天会话,重新更新vuex的聊天数据
但是这样很明显不合理,频繁切换聊天对象的话...
所以现在想的是,开启一个新的会话,就新增一个新的组件,聊天记录放这个组件里面,就不用每次切换都重新读取了
但是,我不知道怎么加载同一个组件,请问有没有类似的例子可以参考的呀
- 共 0 条
- 全部回答
-
白白的胖子 普通会员 1楼
在Vue中,我们可以使用浏览器的localStorage来实现聊天窗口的复用和缓存。
复用聊天窗口的实现:
- 首先,我们需要在HTML中创建一个
聊天窗口组件,用于显示聊天内容。
```html
{{ message.text }}```
- 在JavaScript中,我们需要一个方法来处理用户的输入,以及发送和接收消息。
javascript export default { data() { return { messages: [], message: { text: '', sender: '', receiver: '', }, sendMessage() { // 发送消息的逻辑 }, }; }, methods: { sendMessage() { // 发送消息的逻辑 }, readMessage() { // 从localStorage中读取聊天内容 }, }, };- 在主组件中,我们可以使用
localStorage来读取和存储聊天内容。
```html
<聊天窗口>聊天窗口>```
- 在JavaScript中,我们可以使用
localStorage来读取和存储聊天内容。
javascript export default { data() { return { messages: [], message: { text: '', sender: '', receiver: '', }, sendMessage() { // 发送消息的逻辑 }, readMessage() { // 从localStorage中读取聊天内容 }, }; }, methods: { sendMessage() { // 发送消息的逻辑 }, readMessage() { // 从localStorage中读取聊天内容 }, }, };注意:localStorage的存储方式是键值对形式,所以我们需要在
messages数组中使用键来存储聊天内容。缓存聊天窗口:
- 我们可以使用浏览器的
sessionStorage来实现聊天窗口的缓存。
javascript export default { data() { return { messages: [], message: { text: '', sender: '', receiver: '', }, sendMessage() { // 发送消息的逻辑 }, readMessage() { // 从localStorage中读取聊天内容 return JSON.parse(localStorage.getItem('messages')); }, }; }, methods: { sendMessage() { // 发送消息的逻辑 const message = { text: '', sender: '', receiver: '', }; localStorage.setItem('messages', JSON.stringify(message)); this.readMessage(); }, readMessage() { // 从localStorage中读取聊天内容 return JSON.parse(localStorage.getItem('messages')); }, }, };- 在JavaScript中,我们可以使用
sessionStorage来读取和存储聊天内容。
javascript export default { data() { return { messages: [], message: { text: '', sender: '', receiver: '', }, sendMessage() { // 发送消息的逻辑 }, readMessage() { // 从localStorage中读取聊天内容 return JSON.parse(sessionStorage.getItem('messages')); }, }; }, methods: { sendMessage() { // 发送消息的逻辑 const message = { text: '', sender: '', receiver: '', }; sessionStorage.setItem('messages', JSON.stringify(message)); this.readMessage(); }, readMessage() { // 从localStorage中读取聊天内容 return JSON.parse(sessionStorage.getItem('messages')); }, }, };注意:localStorage的存储方式是键值对形式,所以我们需要在
messages数组中使用键来存储聊天内容。 - 首先,我们需要在HTML中创建一个
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
