2017-10-15 29 views
0

オープンなGoogle Books APIを使用して、簡単なブックブラウジングアプリを構築しています。問題は、APIの応答に引用符とUnicodeエンティティがあることです。現在、レンダリング時に、Vue.jsが引用符をHTMLエンティティに変換しています。ユニコードをテキストに変換している間は、HTMLタグを適用しません。例を挙げましょう:Vue.js HTMLとUnicodeエンティティの自動変換

Pronunciation Guide for \u003cb\u003eElixir\u003c/b\u003e Aether: EE-ther Ananke: ah-NAN-key Agapi: ah-\u003cbr\u003e\nGAH-pee Apollyon: a-POL-ee-on Atropos: ah-TRO-poes Clothe: KL O-tho \u003cbr\u003e\nDaimon: DEE-mun Hematoi: HEM-a-toy Khalkotauroi: kal-koh-TOR-oy CHAPTER \u003cbr\u003e\n1 ALEX ... 

(生のAPIレスポンスから)上記のテキストは、このに変換されます:

enter image description here

あなたは<b>タグがそのまま残っていたことがわかります。 1つのデコードが間違いなく(UnicodeからHTMLへ)行われたので、これを理解できますが、HTMLを実際に解釈して適用するにはどうすればよいですか?ここで

は、私は、実際の引用符に引用コードを変換したい別の例として、ですが、それは起こりません。

生のAPIレスポンス:

ABOUT THE AUTHOR Benedict Anderson is one of the world&#39;s leading authorities on South East Asian nationalism and particularly on Indonesia. 

レンダリング:

enter image description here

ここで私は私のコンポーネント(かなり単純)で使用しているコードです:

<template> 
    <div class="book-listing"> 
     <div class="book-image"> 
      <img :src="book.volumeInfo.imageLinks.smallThumbnail"> 
     </div> 

     <div class="book-title"> 
      {{ book.volumeInfo.title }} 
     </div> 

     <div class="book-description"> 
      {{ book.searchInfo.textSnippet }} 
     </div> 
    </div> 
</template> 

<script> 
    export default { 
     props: [ 'book' ] 
    } 
</script> 

答えて

3

たぶん、あなたは

<div class="book-title" v-html="book.volumeInfo.title"> 
+0

ありがとうV-HTMLを使用することができます!私は前に 'v-html'を見ましたが、属性の存在が魔法のようにHTMLを変換すると考えているので'

. . .
'としていました。 – dotslash

+0

はい。これは、サニタイズの概念を除いて、angularのng-bind-htmlのようなものです。 –

関連する問題