vue组件的Markdown使用

写项目用到了markdown组件,github的组件

那个上面有安装的方法和不同情况下的使用方式。(安装我就不写了)在vue中使用

使用

1.主要代码:

HTML

//代码高亮

JS

 markdownOption: {
        bold: true, // 粗体
        italic: true, // 斜体
        header: true, // 标题
        underline: true, // 下划线
        strikethrough: true, // 中划线
        mark: true, // 标记
        superscript: true, // 上角标
        subscript: true, // 下角标
        quote: true, // 引用
        ol: true, // 有序列表
        ul: true, // 无序列表
        link: true, // 链接
        imagelink: true, // 图片链接
        code: true, // code
        table: true, // 表格
        fullscreen: true, // 全屏编辑
        readmodel: true, // 沉浸式阅读
        htmlcode: true, // 展示html源码
        help: true, // 帮助
        /* 1.3.5 */
        undo: true, // 上一步
        redo: true, // 下一步
        trash: true, // 清空
        save: true, // 保存(触发events中的save事件)
        /* 1.4.2 */
        navigation: true, // 导航目录
        /* 2.1.8 */
        alignleft: true, // 左对齐
        aligncenter: true, // 居中
        alignright: true, // 右对齐
        /* 2.2.1 */
        subfield: true, // 单双栏模式
        preview: true // 预览
      },
      md: {
        markdown: '#### how to use mavonEditor in nuxt.js',
        title: '',//自定义的
        html: '', //自定义的
        status: 1,//自定义的
        id: ''//自定义的

      }

JS方法:

// 绑定@imgAdd event
    $imgAdd(pos, $file) {
      // 第一步.将图片上传到服务器.
      var formdata = new FormData()
      formdata.append('file', $file)
      blogApi.uploadBlogImg(formdata).then(response => {
        // console.log(response.data.data.url)
        this.$refs.md.$img2Url(pos, response.data.data.url)
        // this.$refs.md
      })
    },
    $imgDel(filename) {
      // console.log('delete     ' + filename[0] + '     hhh')
      blogApi.deleteBlogImg(filename[0])
    }, 
 changeBlog(value, render) {
      // console.log(value + '\t' + render)
      this.md.html = render
      this.md.markdown = value
    },

展示博客是的代码高亮:(安装自行百度)

博文展示:

 
{{ blog.htmlDescription }}

 高亮需要的组件

// Vue-cli生成的工程文件的src/main.js
import hljs from 'highlight.js'
import 'highlight.js/styles/zenburn.css' // 样式文件
import Vue from 'vue'
import cookie from 'js-cookie'
Vue.directive('highlight', function(el) {
  const blocks = el.querySelectorAll('pre code')
  blocks.forEach(block => {
    hljs.highlightBlock(block)
  })
})

 

 

 

 

你可能感兴趣的:(vue.js)