2017-09-20 38 views
1

我在Laravel 5.5中使用了Vue 2 js。Vue.js 2 autoescape HTML

我有一個組件數據 - 降價文本。 我有一個VUE實例

new Vue({ 
     el : '#lesson_edit', 
     data : { 
      lesson : { 
       body : `{{ $lesson->body }}` 
      } 
     } 
    }); 

體中的字符串有一個 '>' 符號。但分配ot逃脫<後。

的問題是下一個,我有一個VUE組件,它cconverts降價到HTML

<template> 
     <div v-html="parsedBody"></div> 
    </template> 


<script> 

    export default { 
     props : ['body'], 
     mounted() { 
      console.log('Component mounted.') 
     }, 
     computed : { 
      parsedBody(){ 
       return marked(this.body, { sanitize: true }) 
      } 
     } 
    } 
</script> 

分配的身體和unescpe後,我沒有得到一個有效的降價轉換。

我該怎麼辦?

添加事件到組件? 拒絕這個字符在Vue實例中轉義? 還是別的...懇求,幫助。

+0

是從'>'轉換爲'<'之前它分配給vue或之後發生?另外,你有沒有嘗試{! !!}而不是{{}}來顯示原始字符串而不是轉義字符串? –

回答

2

它是服務器端的葉片引擎,它轉義html而不是Vue。您將不得不使用{!! $lesson->body !!}而不是{{ $lesson->body }}

+0

yeap。它有助於。 –

+0

如果此解決方案有效,您可以接受此答案。 –