Я использую marks.js , чтобы добавить git-ароматизированную уценку в мое приложение Laravel.
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 })
}
}
});
Когда я запускаю это и добавляюПри таких словах, как «перерыв», «для» или даже просто новый абзац (возврат), я получаю сообщение об ошибке в консоли браузера, и ни одно из содержимого не отображается .:
app.js: 41078[Vue warn]: ошибка компиляции шаблона:
недопустимое выражение: неверный или неожиданный токен в
markdown('smsa.mdsads
hi ')
Необработанное выражение: v-html = "markdown('smsa.mdsads
hi') "
63 |64 |
Ноя 09 2019
65 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 66 ||67 |hi ') "> | ^^^^^
(найдено в)
Примечание
Я почти уверен, что это нене проблема mark.js, так как я использую компоненты mark в моих компонентах vue на JSON, и он прекрасно работает. Пример:
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>