Vue.js'de kaçan olmayan HTML'yi göster


191

Bıyık bağlama içinde HTML'nin yorumlanmasını nasıl sağlayabilirim? Şu anda break ( <br />) görüntülenir / kaçar.

Küçük Vue uygulaması:

var logapp = new Vue({
  el: '#logapp',
  data: {
    title: 'Logs',
    logs: [
      { status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1  },
      { status: true, type: 'Import', desc: 'Learn<br />JavaScript', date: '11.11.2015', id: 1  }
    ]
  }
})

Ve işte şablon:

<div id="logapp">    
    <table>
        <tbody>
            <tr v-repeat="logs">
                <td>{{fail}}</td>
                <td>{{type}}</td>
                <td>{{description}}</td>
                <td>{{stamp}}</td>
                <td>{{id}}</td>
            </tr>
        </tbody>
    </table>
</div>

1
satır sonları için kaçışsız HTML yapmak aşırıya kaçan, sadece bahsetmek istedim! büyük bir güvenlik riski
Ryan Taylor

Yanıtlar:


203

Vue2 ile başlayarak, üçlü parantezler kullanımdan kaldırıldı, kullanmalısınız v-html.

<div v-html="task.html_content"> </div>

Belgeler bağlantısından içeriye ne yerleştirmemiz gerektiği belli değil, v-htmldeğişkenleriniz içeri giriyor v-html.

Ayrıca, v-htmlyalnızca ile <div>ya da <span>değil ile çalışır <template>.

Bunu bir uygulamada canlı olarak görmek istiyorsanız burayı tıklayın .


1
<template>Angular.js'den geliyor ve benzer bir şey arıyorsanız, burada " ile değil " önemli bir parçasıdır<ng-include>
domih

236

Göstermek için v-html yönergesini kullanabilirsiniz. bunun gibi:

<td v-html="desc"></td>

3
Bu aslında vue2'de çalışır. Birincisi derlemeye başlar.
Yauheni Prakopchyk

1
metni sınırlamak için v-html ile ilgili bir sorun var mı? v-html'deki metni sınırlamak mümkün mü? denedim, başarısız oldu
Zum Dummi


5

Vue varsayılan olarak göstermek için v-html yönergesi ile birlikte gelir, dize değişkenleri için normal bıyık bağını kullanmak yerine öğenin kendisine bağlarsınız.

Yani özel örneğiniz için ihtiyacınız olacak:

<div id="logapp">    
    <table>
        <tbody>
            <tr v-repeat="logs">
                <td v-html="fail"></td>
                <td v-html="type"></td>
                <td v-html="description"></td>
                <td v-html="stamp"></td>
                <td v-html="id"></td>
            </tr>
        </tbody>
    </table>
</div>

4

Bir vue bileşeninin içindeki html içeriğini görüntülemek için v-html yönergesini kullanmanız gerekir

<div v-html="html content data property"></div>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.