cari

Rumah  >  Soal Jawab  >  teks badan

javascript - vue menukar rentetan kepada html

let str = "<img :src=('face[k].src)>"
this.commentList[i].Content = this.commentList[i].Content.replace(sArr[j], str)

Keperluan adalah untuk menukar rentetan dalam str kepada html untuk output. Img ini adalah daripada emotikon. Periksa sama ada kandungan yang dikembalikan mengandungi emotikon, dan kemudian menggantikannya. Bagaimanakah saya menukarnya kepada html? Nampaknya kaedah eval() tidak disokong

为情所困为情所困2747 hari yang lalu815

membalas semua(5)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-19 10:33:46

    Seperti berikut, selepas mendapatkan data, anda harus mengubah suai Kandungan kepada html dan mengikatnya menggunakan arahan v-html:

    <template>
        <ul v-for="item in commentList">
            <li>
                <p v-html='item.Content'></p>
            </li>
        </ul>
    </template>
    
    <script>
        export {
            data() {
                return {
                    commentList: []
                }
            },
            created() {
                this.$http.get('api/get-commentlist?article_id=1').then((res) => {
                    res = res.body
                    res.list.forEach((item, i) => {
                        // sdfsafs[face-1]sad[face-2] 
                        // 将被替换为 
                        // sdfsafs<img src="face-1.jpg">sad<img src="face-2.jpg">
                        // ,请自行根据需要修改
                        item.Content = item.Content.replace(/\[face\-(\d+)\]/g, '<img src="face-.jpg">')
                    })
                    this.commentList = res.list
                })
            }
        }
    </script>
    

    --- Supplement ---

    Parameter kedua kaedah .replace() juga menyokong penggunaan pengembalian fungsi, yang boleh mencapai penggantian yang lebih kompleks, seperti:

    item.Content = item.Content.replace(/\[(.+)\]/g, function(word, ){
      return '<img src="/static/img/'+ this.face[].src +'" />'
    })

    balas
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:33:46

    v-html?

    balas
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:33:46

    Digalakkan menggunakan v-ifLebih baik

    balas
    0
  • 迷茫

    迷茫2017-05-19 10:33:46

    Gunakan innerHTML untuk native dan html() untuk jq;

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:33:46

    Ada sesiapa yang mengalami masalah yang sama~

    balas
    0
  • Batalbalas