2015-06-16 53 views
71

Làm cách nào tôi có thể quản lý để nhận html được diễn giải bên trong một ràng buộc bộ ria mép? Tại thời điểm nghỉ (<br />) chỉ được hiển thị/thoát.Hiển thị Vue unescaped html

ứng dụng vue nhỏ

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 } 
    ] 
    } 
}) 

Và dưới đây là mẫu

<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> 

Trả lời

140

Bạn có thể sử dụng chỉ thị v-html để hiển thị nó. như thế này:

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

+3

Điều đó thực sự hoạt động trong vue2. Đầu tiên một trows trên biên dịch. –

+1

Điều này không hoạt động ở tất cả – usefulBee

+11

hoạt động trong vue2 – daslicious

70

You can read that here

Nếu bạn sử dụng

{{<br />}} 

nó sẽ được thoát. Nếu bạn muốn html liệu, bạn gotta sử dụng

{{{<br />}}} 

EDIT (05 Tháng Hai 2017): Là @hitautodestruct chỉ ra, trong v2 bạn nên sử dụng v-html thay vì dấu ngoặc nhọn ba.

+1

Vâng, ngay cả trong docu. Cảm ơn. – Mike

+46

Xin lưu ý rằng trong vue 2.0 bộ ria mép ba [đã không được chấp nhận] (https://github.com/vuejs/vue/issues/2873) bạn nên [sử dụng v-html] (http://vuejs.org/api/# v-html). – hitautodestruct

21

Bắt đầu với Vue2, dấu ngoặc ba đã bị phản đối, bạn đang sử dụng v-html.

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

Không rõ từ documentation link như những gì chúng tôi có nghĩa vụ phải đặt bên trong v-html, các biến của bạn đi bên v-html.

Ngoài ra, v-html chỉ hoạt động với <div> hoặc <span> nhưng không phải với <template>.

Nếu bạn muốn xem điều này trực tiếp trong ứng dụng, hãy nhấp vào here.

Các vấn đề liên quan