Rumah > hujung hadapan web > View.js > teks badan

Cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ

WBOY
Lepaskan: 2023-09-20 14:27:11
asal
859 orang telah melayarinya

Cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ

Cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ

Dalam era sosial hari ini, fungsi sembang telah menjadi salah satu fungsi teras aplikasi mudah alih dan aplikasi web. Salah satu elemen yang paling biasa dalam antara muka sembang ialah gelembung sembang, yang boleh membezakan dengan jelas mesej penghantar dan penerima, dengan berkesan meningkatkan kebolehbacaan mesej. Artikel ini akan memperkenalkan cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ dan memberikan contoh kod khusus.

Pertama, kita perlu mencipta komponen Vue untuk mewakili gelembung sembang. Komponen mengandungi dua bahagian utama: mesej dihantar dan mesej diterima. Kita boleh menghantar data mesej ini melalui prop dan menetapkan gaya yang berbeza mengikut jenis mesej. Berikut ialah contoh kod mudah untuk komponen gelembung sembang:

<template>
  <div :class="{'message-bubble': true, 'receiver': isReceiver, 'sender': !isReceiver}">
    <div class="message-content">{{ message }}</div>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      required: true
    },
    isReceiver: {
      type: Boolean,
      required: true
    }
  }
}
</script>

<style scoped>
.message-bubble {
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 10px;
}

.receiver {
  background-color: #e6e6e6;
  color: black;
  align-self: flex-start;
}

.sender {
  background-color: #007bff;
  color: white;
  align-self: flex-end;
}

.message-content {
  word-wrap: break-word;
}
</style>
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kelas CSS bernama message-bubble untuk menggayakan gelembung. Bergantung pada sama ada ia adalah penerima atau pengirim, kami menetapkan warna latar belakang dan warna teks yang berbeza masing-masing. message-bubble的CSS类来设置气泡的样式。根据是否是接收者还是发送者,我们分别设置了不同的背景颜色和文字颜色。

接下来,我们需要在父组件中使用聊天气泡组件。父组件可以通过v-for指令循环遍历消息列表,并将消息和发送者/接收者信息传递给子组件。以下是一个简单的父组件示例代码:

<template>
  <div class="chat-container">
    <chat-bubble v-for="message in messages" :message="message.text" :is-receiver="message.receiver" :key="message.id" />
  </div>
</template>

<script>
import ChatBubble from './ChatBubble.vue';

export default {
  components: {
    ChatBubble
  },
  data() {
    return {
      messages: [
        { id: 1, text: 'Hello', receiver: true },
        { id: 2, text: 'Hi', receiver: false },
        { id: 3, text: 'How are you?', receiver: true },
        { id: 4, text: "I'm good, thanks!", receiver: false }
      ]
    };
  }
}
</script>

<style scoped>
.chat-container {
  display: flex;
  flex-direction: column;
}
</style>
Salin selepas log masuk

在上面的代码中,我们通过引入聊天气泡组件ChatBubble并在v-for指令中遍历消息列表来创建聊天气泡。我们在数组messages

Seterusnya, kita perlu menggunakan komponen gelembung sembang dalam komponen induk. Komponen induk boleh melingkar melalui senarai mesej melalui arahan v-for dan menghantar mesej dan maklumat penghantar/penerima kepada komponen anak. Berikut ialah kod contoh komponen induk yang mudah:

import Vue from 'vue'
import App from './App.vue'

new Vue({
  render: h => h(App)
}).$mount('#app');
Salin selepas log masuk
Dalam kod di atas, kami memperkenalkan komponen gelembung sembang ChatBubble dan mengulangi senarai mesej dalam v-for arahan untuk mencipta gelembung sembang. Kami mentakrifkan beberapa contoh mesej dalam tatasusunan mesej, termasuk maklumat penghantar dan penerima.

Akhir sekali, kita perlu mendaftarkan komponen induk kepada contoh Vue dalam fail kemasukan dan lekapkannya ke dalam dokumen HTML. Berikut ialah kod contoh fail kemasukan mudah:

rrreee

Dengan menjalankan kod di atas, kita dapat melihat kesan antara muka sembang seperti QQ dalam penyemak imbas, termasuk buih sembang untuk pengirim dan penerima. 🎜🎜Ringkasnya, artikel ini memperkenalkan cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ. Dengan mencipta komponen gelembung sembang, kami boleh memaparkan mesej pengirim dan penerima dengan mudah dalam antara muka sembang dan menetapkan gaya yang berbeza untuk mereka. Kesan gelembung sembang seperti QQ ini boleh membantu kami memaparkan kandungan sembang dengan lebih baik dan meningkatkan pengalaman pengguna. Saya harap artikel ini dapat memberi sedikit rujukan dan bantuan untuk pemula. 🎜

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan kesan gelembung sembang seperti QQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan