我想知道你是否能夠幫助我。
我正在嘗試使用 Laravel 8 和 VueJS 構建一個論壇,但是我遇到了問題,Marked 插件似乎無法正常作業。
它不會將降價轉換為 html,我認為我使用正確,但我可能錯了。
我的 Vue 組件代碼如下
<template>
<v-card
elevation="2"
outlined
shaped
>
<v-container fluid>
<v-card-title>
{{data.title}}
</v-card-title>
<v-card-subtitle>
Posted By {{data.user}} {{data.created_at}}
</v-card-subtitle>
<v-spacer></v-spacer>
<v-card-text v-html="data.body"></v-card-text>
</v-container>
</v-card>
</template>
<script>
import marked from 'marked';
export default {
props:['data'],
computed:{
body(){
return marked.parse(this.data.body);
}
}
}
</script>
<style>
</style>
我嘗試將其定義為全域匯入,但它仍然不起作用。
它仍然顯示降價而不是轉換為 html。
uj5u.com熱心網友回復:
替換這一行:
<v-card-text v-html="data.body"></v-card-text>
和:
<v-card-text v-html="body"></v-card-text>
在您的代碼中,您使用的data是原始道具。但您真正想要的是使用計算值body,它呼叫 Marked。
您應該避免使用具有相同名稱 (data.body和body) 的屬性以避免混淆。如果你將你的計算重命名body()為markedHtml(),代碼會更容易閱讀。
您也沒有正確匯入標記,請使用此匯入:
import { marked } from 'marked';
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367526.html
標籤:拉拉维尔 Vue.js Vuejs2 Vuetify.js laravel-8
