Tìm kiếm trang web

javascript - Hiển thị HTML chưa được thoát trong Vue.js


Làm thế nào để tôi có thể xử lý HTML bên trong một ràng buộc mustache? Hiện tại, ngắt dòng (<br />) chỉ được hiển thị/thoát.

Ứ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à đâ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>

Câu trả lời #1

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

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

Câu trả lời #2

Bắt đầu từ Vue2, cú pháp ba ngoặc nhọn đã bị loại bỏ, bạn nên sử dụng v-html.

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

Từ liên kết tài liệu không rõ chúng ta nên đặt gì bên trong v-html, các biến của bạn được đặt bên trong v-html.

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

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

Câu trả lời #3

Bạn có thể đọc cái đó ở đây

Nếu bạn sử dụng

{{<br />}}

nó sẽ được thoát. Nếu bạn muốn html thô, bạn phải sử dụng

{{{<br />}}}

EDIT (ngày 5 tháng 2 năm 2017): Như @hitautodesturation đã chỉ ra, trong vue 2, bạn nên sử dụng v-html thay vì dấu ngoặc nhọn ba.

Câu trả lời #4

Bạn phải sử dụng directive v-html để hiển thị nội dung HTML bên trong một component của Vue

<div v-html="html content data property"></div>

Bài viết liên quan