[Vue警告]:编译模板错误:无效表达式:markdown('')中的无效或意外令牌。 htmlentities问题? [marked.js]

时间:2019-11-09 08:36:37

标签: laravel vue.js laravel-blade html-entities laravel-6

我正在使用marked.js向我的Laravel应用添加git味的markdown。

index.blade.php

@foreach($entries as $entry)
    <a href="/entry/{{$entry->id}}"><h3>{{ $entry->created_at->format('M d Y') }}</h3></a>
    <div v-html="markdown('{{ htmlentities($entry->content) }}')"> </div>
    <hr>
@endforeach

app.js

const marked = require('marked');

const app = new Vue({
    el: '#app',

    methods: {
        markdown(input){
            return marked(input, { sanitize: true })
        }
    }
});

运行此命令并添加诸如“ break”,“ for”或什至只是基本的新段落(返回)之类的字词时,我在浏览器控制台中遇到错误,并且所有内容均未显示。:

  

app.js:41078 [Vue警告]:编译模板时出错:

     

无效的表达式:无效或意外的令牌

markdown('smsa.mdsads
     

hi')

     

原始表达式:v-html =“ markdown('smsa.mdsads

     

hi')”

     

63 | 64 |
  

Nov 09 2019

65 |
     66 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 66 | | 67 | hi')“> |   ^^^^^

     

(位于)

注意

我非常确定这不是marked.js问题,因为我在JSON的vue组件中使用了marked,并且效果很好。示例:

有效的RecordComponent.vue

<div  v-for="(record, index) in records">

    <h4>Content</h4>
    <div v-if="record.content" v-html="markdown(record.content)"></div>
    <p v-else style="color: #d02105;">Please fill out later</p>

    <hr>

</div>

0 个答案:

没有答案