zoukankan      html  css  js  c++  java
  • vue中显示原网页代码--codemirror

    在项目中遇到了一个需求,后台返回string类型的html源码,要求前端这边按照codeview这种类型把这个源码展示出来。现总结如下

    1.如果没啥样式的需求,只是要求该缩进缩进的话,可以直接使用innerText属性,然后给你这个包裹了html源码的div加上white-space:pre;就可以了。效果如下:

     

    2.如果要求你的源码可以编辑并且按照codeview的那种主题样式展示可以使用codemirror插件

    我是在vue中使用的

    1.首先安装vue-codemirror

    npm install vue-codemirror --save

    2.在main.js中使用

    import { codemirror } from 'vue-codemirror'
    import 'codemirror/lib/codemirror.css'
    import 'codemirror/theme/darcula.css'   //这个是你设置了什么主题,就要对应的在main.js中引入主题的css

    3.在对应的组件中使用

    html部分
    <codemirror
                  ref="myCm"
                  :value="resArr" //对应的值
                  :options="cmOptions" //对应的配置
                  class="code"
                ></codemirror>
    
    js部分
    import { codemirror } from 'vue-codemirror'
      require("codemirror/mode/python/python.js")
      require('codemirror/addon/fold/foldcode.js')
      require('codemirror/addon/fold/foldgutter.js')
      require('codemirror/addon/fold/brace-fold.js')
      require('codemirror/addon/fold/xml-fold.js')
      require('codemirror/addon/fold/indent-fold.js')
      require('codemirror/addon/fold/markdown-fold.js')
      require('codemirror/addon/fold/comment-fold.js')
    
     cmOptions:{
               value:'',
               //mode:'text/html',//模式
               theme:'darcula', //主题
               indentUnit:2,
               smartIndent:true,
               tabSize:4,
               readOnly:true, //只读
               showCursorWhenSelecting:true,
               lineNumbers:false, //是否显示行数
               firstLineNumber:1
            },
    
    
    this.resArr = res;

    效果:

    注意:我们在使用的时候,想要高度自适应,这个时候需要在

    codemirror/lib/codemirror.css 文件中将样式改为
    .CodeMirror {
      /* Set height, width, borders, and global font properties here */
      font-family: monospace;
      height: auto;
      color: black;
      direction: ltr;
    }
    .CodeMirror-scroll {
      height: auto;
      overflow-y: hidden;
      overflow-x: auto;
    }

    一些具体的配置信息,大家可以去搜搜,我这边只写了部分

  • 相关阅读:
    工作常用mysql命令以及函数
    mybati 字段映射
    关于idea切换账号,上传的代码依旧是之前账号提交/操作git
    java 开发过程中常用
    简单了解微服务
    zookeeper 学习(二) java操作zookeeper
    zookeeper 学习(一) 初识zookeeper
    漫画:我们为何结婚,又为何不忠?
    适用 selenium 自动化的十大测试场景
    女朋友买房了,我我我....
  • 原文地址:https://www.cnblogs.com/yesu/p/11170653.html
Copyright © 2011-2022 走看看