vue使用tinymce5富文本编辑器
极力推荐一个大佬做的tinymce5中文文档;其中包含部分常用插件如:多图上传,行间距,首行缩进等
我所使用的版本为
"@tinymce/tinymce-vue": "^2.1.0","tinymce":"^5.0.12"
通过npm 安装tinymce和tinymce-vue
npm install tinymce -Snpm install @tinymce/tinymce-vue -S
一、子组件页面1.首先需要引入tinymce的关键文件import tinymce from "tinymce";import "tinymce/themes/silver";import Editor from "@tinymce/tinymce-vue";
2.此时的tinymce包含了一些基本功能插件,如果需要其他功能,需要引入对应的功能插件,并在plugins和toolbar中使用插件import "tinymce/themes/silv ...
关于vue中el-date-picker type=daterange日期不回显的问题
一、原始代码<el-form-item class="form_bigt_p" label="项目起止时间:" prop="time"> <el-date-picker unlink-panels class="bigWidth" :disabled="isDisabled" v-model.trim="ruleForm.time" type="daterange" value-format="timestamp" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" ></el-date-picker></el-form-item>
由于后台返回的数据是两个 yyyy-mm-dd ...
Vue导出页面为word
由于导出word时,页面样式无法正常使用,因此整体页面采用table布局,仅在几个地方添加style样式,没有其余样式 /*** 当页面中有canvas时,我的做法是* 在页面中预先放置一个src为空的img标签* 点击导出时,将canvas转为base64,将之前设置的img标签的src修改为base64,同时置空canvas* 需要注意的是,这种情况下,当结束导出操作时,由于页面中的canvas已经替换为图片,进行获取canvas标签操作时会报错* 因此需要进行判断* 当页面中存在canvas标签时,进行转换canvas操作* 否则直接导出页面内容*/ var cv = document.getElementsByTagName("canvas")[0]; //获取canvas var resImg = document.getElementsByClassName("resImg")[0]; //获取包裹canvas的标签 var cimg = document.getElementsByClassName("ci ...
JS判断安卓,ios和微信
var u = navigator.userAgent;var ua = navigator.userAgent.toLowerCase();// 判断安卓u.indexOf("Android") > -1 || u.indexOf("Linux") > -1;// 判断iOS!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端// 判断是否在微信内置浏览器打开if(ua.match(/MicroMessenger/i) == "micromessenger"){ alert('当前页面在微信中打开')}
vue使用mintUI,滑动到底部自动加载(infinte-scroll)
做此项目与官网的区别在于,数据总数,页码总数是由后台返回,而非前端设置
<ul v-infinite-scroll="loadMore" infinite-scroll-disabled="loading" infinite-scroll-distance="10"> <li v-for="(item,index) in records" :key="index"> <span class="nickname">{{item.nickName}}</span> <span class="date">{{item.createTime}}</span> </li></ul>
res返回的数据格式如下res:{ data:{ page ...
vue中post请求报400的解决
1、为默认数据格式为json,发请求时参数报错通过以下方式修改数据格式即可
import qs from 'qs';// import qs from 'querystring'const data = { 'bar': 123 };const options = { method: 'POST', headers: { 'content-type': 'application/x-www-form-urlencoded' }, data: qs.stringify(data), url,};axios(options);
2、检查发送的数据格式是否与后端要求相匹配,要求字符串,发送了数组也可能会出现400错误
vue打印echarts
思路将整个body的内容替换为弹窗的内容,打印操作完成之后还原echarts打印时未显示,通过将其转为img的方法进行打印
//打印触发的方法 print() { var that = this; var oldstr = document.body.innerHTML; // 获取当前页面内容用以还原 var div_print = document.getElementById("printTest"); // 获取要打印部分的内容 var cv = document.getElementsByTagName("canvas")[0]; //获取canvas var resImg = document.getElementsByClassName("resImg")[0]; //获取包裹canvas的标签 // 将canvas转为图片 var context = cv.getContext("2d"); var img = n ...
记一次vue+element项目中echarts的展示问题
展示前提:后台返回的是一段绘制用的js脚本,并是以父向子传参的方法传递过来,无法以正常的import方式使用echarts解决:
// 通过此方法引入echarts所需js文件methods:{ introduce(){ var script1 = document.createElement("script"); script1.src = "http://www.chinaops.cn/cloud/home/js/01/jquery-1.4.2.min.js"; document.head.append(script1); }},created(){ this.introduce();}
data(){ return{ script:null // 这是script标签 }},props:{ scr:"", // 这是传过来的js脚本},methods:{ intro ...
foreach循环json数组
定义一组数据如下
var obj = [ { name: "a", age: 1, }, { name: "b", age: 2, }, { name: "c", age: 3, },];
传入一个参数obj.forEach(function (element) { console.log(element);});
可见:一个参数时,foreach 循环的是 json 数组中的每个对象
传入两个参数obj.forEach(function (element, index) { console.log(element); console.log(index);});
可见:两个参数时,第一个参数是 json 数组中的对象,第二个参数是对应的 index 值
vue中axios的使用以及跨域问题的解决
在vue中使用axios 使用 npm install axios 安装 在main.js中添加以下代码
import Axios from "axios";Vue.prototype.$axios = Axios;
解决跨域问题 在config中的index.js修改ProxyTable为如下:
proxyTable: { "/api": { target: "后台提供的路径前缀", changeOrigin: true, pathRewrite: { '^/api': '' } } },
在某次使用时,出现修改后发生404的情况,解决方法如下:修改proxyTable
proxyTable: { "/api": { target: "后台提供的路 ...