2017-03-07 2 views
0

次のコードを使ってexpの値を渡そうとしています。ただし、selectedChannel.explanationの形式は、 "< b>チャネル名</b>"です。どのように私はそれをチャンネル名として表示するためにかを得ることができますか?以下はVueで文字列を渡してhtmlとして扱う方法

computed: { 
    channel: { 
     get() { 
      const selectedChannel = this.$store.getters.selectedChannel; 
      return selectedChannel ? selectedChannel.explanation : ''; 
     } 

私はあなたが入力タグ(また、テキストエリア)に与えられた任意の値がされる「V-HTML」ディレクティブ

+0

あなたはフィドルを作成できますか? yエラー? – Saurabh

答えて

0

を探していると思うのテンプレート

<div class="channels"> 
     <textarea 
     v-model="channel"> 
     </textarea> 
</div> 
+0

ありがとう、これは私のために働いた! :) –

0

の一部でありますstringとして処理されます。

<div class="channels" v-html="channel"> 
</div> 

サンプル:

<div class="channels" v-html="channel"> 
</div> 
+0

私はv-htmlにv-modelを変更しようとしましたが、やはりまだそれが表示されておらず、まだ太字タグを表示しています –

+0

vs-htmlに文字列を渡すのではなく、何か他のものかもしれない。 – Austio

0

あなたはV-HTMLディレクティブを使用する必要があります。
textareaタグにチャンネル名を表示するには、テンプレートには、この

computed: { 
    channel: { 
     get() { 
      const selectedChannel = this.$store.getters.selectedChannel; 
      // using regex to match the text between "b" tag 
      const channelName = selectedChannel.match("<b\b[^>]*>(.*?)<\/b>")[1]; 
      return selectedChannel ? `<textarea>${channelName}</textarea>` : ''; 
     } 

を行うことができますフィドルhere

+0

ちょっと、私はこれがコンパイルエラーをスローすると確信しています。これは構文的に間違っています。これは古いVue.jsバージョンの機能ですか? –

+0

あなたはそうです、私はその機能がVue 2で削除されたことを知らなかった。v-htmlが行く方法です。私は私の答えを編集しました。 – Gus

関連する問題