vue中如何使用prismjs
安装
yarn add prismjs
基本使用
<template>
<code v-html="Prism.highlight(myJsonStr, Prism.languages.js);" />
</template>
<script setup>
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';
// 后端返回的json字符串
const myJsonStr = "{name: '张三'}";
</script>
优化
1、将不标准的json字符串转换为标准的
2、(可能压缩过的)一行的json字符串 使其换行
<template>
<!-- 注意这里不要用code标签 否则会把你辛苦添加的换行符去掉 -->
<pre v-html="jsonStr" />
</template>
<script setup>
import Prism from 'prismjs';
import 'prismjs/themes/prism.css';
// 后端返回的json字符串(基本都是不标准的)
const myJsonStr = "{name: '张三'}";
// 给转换成标准的json字符串 并且支持换行
const handelJsonStr = (str) => {
const jsonStr = eval('(' + str + ')');
const jsonStrHuanhang = JSON.stringify(jsonStr, null, '\t');
const res = Prism.highlight(jsonStrHuanhang, Prism.languages.js);
return res;
};
let jsonStr = handelJsonStr(myJsonStr);
</script>
参考
https://www.jianshu.com/p/ea2ea7da8ae5
vue中如何使用prismjs的更多相关文章
- vue中如何不通过路由直接获取url中的参数
前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接 ...
- vue中的重要特性
一.vue中的自定义组件 html的代码: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- Vue中comoputed中的数据绑定
Vue中的数据实现响应式绑定是在初始化的时候利用definePrototype的定义set和get过滤器,在进行组件模板编译时实现water的监听搜集依赖项,当数据发生变化时在set中通过调用dep. ...
- vue中使用stompjs实现mqtt消息推送通知
最近在研究vue+webAPI进行前后端分离,在一些如前端定时循环请求后台接口判断状态等应用场景用使用mqtt进行主动的消息推送能够很大程度的减小服务端接口的压力,提高系统的效率,而且可以利用mqtt ...
- Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理
基本概念部分(一):理解CORS 说道Vue的跨域AJAX,我想先梳理一遍CORS跨域,"跨域资源共享"(Cross-origin resource sharing),它是一个W3 ...
- vue中watched属性
watched属性,vue中的观察属性,可用来监听一个值的变化 默认有两个参数,新值,旧值 data (){ return { currentCity: "深圳" } } watc ...
- 七、vue中v-for有时候对页面不会重新渲染,数组变化后如何到渲染页面
v-for不能进行双向数据绑定,页面渲染完成后,再次更改v-for遍历的数据,js里面打印的数据看到数据值已经更改,但是页面的数据就是没有渲染,这是为什么呢? vue中v-for和angularj ...
- 【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据
前言: 之前写过一篇文章<在不同场景下Vue组件间的数据交流>,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sync修饰符做父子组件数据双向 ...
- vue中数据双向绑定的实现原理
vue中最常见的属v-model这个数据双向绑定了,很好奇它是如何实现的呢?尝试着用原生的JS去实现一下. 首先大致学习了解下Object.defineProperty()这个东东吧! * Objec ...
- Vue中之nextTick函数源码分析
Vue中之nextTick函数源码分析 1. 什么是Vue.nextTick()?官方文档解释如下:在下次DOM更新循环结束之后执行的延迟回调.在修改数据之后立即使用这个方法,获取更新后的DOM. 2 ...
随机推荐
- java中运行指令浅析
后续业务可能需要在程序中运行指令, 所以这里简单探究了一下, 分别从win和linux两个平台进行研究, 又以为java是跨平台语言, 可能二者之间的区别应该只是返回内容与输入指令的不同. (还不是在 ...
- Unity资源打包之Asset Bundle
Asset Bundle的作用: 1.AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载: 2.AssetBundle自身保存着互相的依赖关系: ...
- C#+Selenium+Nunit实现Web自动化demo
1.新建Nunit工程 步骤如下: 打开Rider选择图示选项 使用Nuget安装对应库 2.编写代码 代码如下: using NUnit.Framework; using OpenQA.Seleni ...
- Python读取CSV文件并存储到MySQL
在项目中对后台进行测试时,经常会遇到要在数据库新增数据,那么如何快速新增数据来提高工作效率呢? 现整理如下: 代码内容(csv_to_mysql.py): # coding=utf-8import p ...
- RSA 加密及一些攻击方式
本文章转载自个人博客seandictionary.top同步更新可能不及时 原理 随机生成两个素数,p , q 令n = p*q 由欧拉公式计算出φ(n) = (p-1)(q-1) 规定e,使得e满足 ...
- 信息资源管理综合题之“公钥密码体系中同一个用户拥有的密钥特点 和 如何使用密钥加解密才能保证传输数据的机密性 和 如何身份认证 和 CA的作用”
一.公钥密码体制在认证技术中是广泛使用的.结合加密和认证技术知识回答以下问题: 1.公钥密码体系中同一个用户拥有的密钥的特点是什么? 2.假设A.B是公钥密码体系的用户,A向B发送数据,A.B之间如何 ...
- MySQL之"数据库中没有就创建,有就修改"ON DUPLICATE KEY UPDATE
一.场景 当你想存入一条数据到扩展表中(主表下附表),但这个扩展表并非一定会创建,就会让其工程逻辑复杂化 (也就是说:有可能创建主表数据的同时不会创建扩展表数据,这样就会照成你想修改的时候,扩展表本身 ...
- vue3 基础-API-computed
前些章节讲了一些常用的 api 如 setup, ref, reactive, toRef ... 等, 并以一个 todoList 的小案例来体现在 vue3 中如何进行解耦逻辑, 以 setup ...
- 使用 Python 接口编译和优化模型 (AutoTVM)
在本节,将介绍与TVMC相同的知识,但展示的是如何使用Python API来完成它.完成本节后,我们将使用适用于 TVM 的 Python API 来完成以下任务: 为TVM Runtime编译预训练 ...
- Visual Studio 快捷键(收藏)
代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl + ...