ホームページ > ウェブフロントエンド > jsチュートリアル > Vuejs は vue-markdown を使用してコメント メソッドをレンダリングします

Vuejs は vue-markdown を使用してコメント メソッドをレンダリングします

小云云
リリース: 2018-05-18 14:42:45
オリジナル
6490 人が閲覧しました

エディタを使用したい場合、またはコメントシステムでマークダウンをサポートしたい場合。このパッケージには、デフォルトで絵文字がサポートされているなど、非常に多くの利点があります。 laravist の新しいバージョンは、vue-markdown を使用してコメントをレンダリングします。この記事では、Vuejs での Markdown の使用例を中心に紹介します。参考になれば幸いです。

インストール

npm を直接使用してインストールします:

npm install --save vue-markdown
ログイン後にコピー

の使用も非常に簡単です。次のように直接実行することもできます:

import VueMarkdown from 'vue-markdown'

new Vue({
 components: {
  VueMarkdown
 }
})
ログイン後にコピー

または、具体的な例は次のとおりです。コメント .vue コンポーネントは、このコンポーネントで直接指定できます:

import VueMarkdown from 'vue-markdown';
<template>
 <p>
  <vue-markdown :source="comment.body"></vue-markdown>
 </p>
</template>

export default { // ... other codes
 props:[&#39;comment&#39;],
 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>
ログイン後にコピー

ここでは、最初にコメント props を通じてコメント全体を渡します (このコメントは実際にはオブジェクトです)。次に、Comment.vue で uses:source を使用して、各コメントの body フィールドの内容を veu-markdown コンポーネントに渡します。ここで、comment.body はコメントの内容をマークダウン形式でデータベースに保存します。

Vuejs サーバーサイド レンダリング マークダウンの例

const Koa = require(&#39;koa&#39;);
const _ = require(&#39;koa-route&#39;);
const vsr = require(&#39;vue-server-renderer&#39;);
const fs = require(&#39;fs&#39;);
const indexjs = require(&#39;./component/index.js&#39;);
const Vue = require(&#39;vue&#39;);
const MD = require(&#39;markdown-it&#39;)

const server = new Koa();

const route = {
  index: (ctx, id) => {
    // 解析markdown
    const md = new MD().render(fs.readFileSync(&#39;./markdown/&#39; + id + &#39;.md&#39;, &#39;utf-8&#39;));
    // 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(&#39;./template/index.template.html&#39;, &#39;utf-8&#39;)
    });
    // 渲染
    renderer.renderToString(app, context, (err, html) => {
      if (err) {
        ctx.response.status = 500;
      } else {
        ctx.response.body = html;
      }
    })
  }
};

server.use(_.get(&#39;/post/:id&#39;, 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 は、実際、いくつかのアプリケーション シナリオ、特にマークダウンをサポートしたいコメント システムで非常に使いやすいです。統合が簡単で、多くの利点があります。皆様の学習のお役に立てれば幸いです。

関連する推奨事項:

vue.jsのレンダリングとループの知識の説明

angularjsのレンダリングを実装するためのhtmlのドロップダウンボックス

ブラウザでページをレンダリングする方法の概要

以上がVuejs は vue-markdown を使用してコメント メソッドをレンダリングしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート