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;
    }

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

  • 相关阅读:
    辅助方法
    扩展方法学习发展之路
    对IOC模式与容器Autofac在MVC里面的一些用法
    Qlikview Session Recovery
    SNOY VAIO 索尼电脑亮度自动变暗
    EXCEL2010数据挖掘插件 下载地址
    Ubuntu20.04 源码安装完应用 如何将应用程序添加到启动器
    flask + flask_restplus+ blueprints 脚手架
    闭包
    操作方法
  • 原文地址:https://www.cnblogs.com/yesu/p/11170653.html
Copyright © 2011-2022 走看看