댓글 시스템에서 편집기를 사용하거나 마크다운을 지원하려는 경우. 이 패키지에는 몇 가지 장점이 있습니다. 예를 들어, 기본적으로 이모티콘을 지원하는데, 이는 완벽합니다! 새로운 버전의 Laravist는 vue-markdown을 사용하여 주석을 렌더링합니다. 이 글은 주로 Vuejs에서 마크다운을 사용하는 예제를 소개합니다. 편집자는 이것이 꽤 좋다고 생각합니다. 이제 여러분에게 공유하고 참고할 수 있기를 바랍니다.
Installation
npm을 사용하여 직접 설치:
npm install --save vue-markdown
을 사용하는 것도 매우 간단합니다. 다음과 같이 직접 좋아할 수 있습니다.
import VueMarkdown from 'vue-markdown' new Vue({ components: { VueMarkdown } })
또는 이와 같이 구체적인 예는 다음과 같습니다. Comment .vue 구성 요소는 주석을 렌더링하는 데 사용됩니다. 이 구성 요소에서 직접 지정할 수 있습니다.
import VueMarkdown from 'vue-markdown'; <template> <p> <vue-markdown :source="comment.body"></vue-markdown> </p> </template> export default { // ... other codes props:['comment'], data(){ return { comment : this.comment } }, components: { VueMarkdown }, // ... other codes }
그런 다음 렌더링할 때:
<p class="comments"> <p class="comments" v-for="comment in comments"> <comment :comment="comment"> </comment> </p> </p>
여기서 먼저 주석 소품을 통해 전체 주석을 전달합니다(이 주석은 실제로 객체입니다). 그런 다음 Comment.vue에서:source를 사용하여 각 주석의 본문 필드 내용을 veu-markdown 구성 요소에 전달합니다. 여기에서 comment.body는 주석 내용을 데이터베이스에 마크다운 형식으로 저장합니다.
Vuejs 서버 측 렌더링 마크다운 예시
const Koa = require('koa'); const _ = require('koa-route'); const vsr = require('vue-server-renderer'); const fs = require('fs'); const indexjs = require('./component/index.js'); const Vue = require('vue'); const MD = require('markdown-it') const server = new Koa(); const route = { index: (ctx, id) => { // 解析markdown const md = new MD().render(fs.readFileSync('./markdown/' + id + '.md', 'utf-8')); // vue插入html代码 const app = new Vue({ data: { main: md }, template: ` <p> <p class="main" v-html="main"></p> </p>` }); // 其他变量设置 const context = { htmlTitle: id }; // 加载模板html文件 const renderer = vsr.createRenderer({ template: fs.readFileSync('./template/index.template.html', 'utf-8') }); // 渲染 renderer.renderToString(app, context, (err, html) => { if (err) { ctx.response.status = 500; } else { ctx.response.body = html; } }) } }; server.use(_.get('/post/:id', route.index)); server.listen(8080);
<!DOCTYPE html> <html lang="CH-ZN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>{{htmlTitle}}</title> </head> <body> <!--vue-ssr-outlet--> </body> </html>
요약
이 글에서 소개한 vue-markdown은 실제로 일부 애플리케이션 시나리오, 특히 마크다운을 지원하려는 댓글 시스템에서 사용하기 매우 쉽습니다. 통합이 쉽고 많은 장점이 있습니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
angularjs 렌더링 구현을 위한 드롭다운 상자 html
위 내용은 Vuejs는 vue-markdown을 사용하여 주석 메소드를 렌더링합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!