ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表. 官网:https://echarts.baidu.com/ 兼容性很好的,数据可视化图标.本章只介绍在vue里面如何配置使用: 你可以使用如下命令通过 npm 安装 ECharts vue2----…
vue中push()和splice()的使用方法 push()使用 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度.注意:1. 新元素将添加在数组的末尾. 2.此方法改变数组的长度. splice()使用 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目注意:这种方法会改变原始数组 语法: array.splice(index,len,item1,.....,itemX) index: 必需,数组开始下标 (必须是数字) len: 替换/删除的长度(必须…
最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好.后面会在学习过程中更新前面的那篇文章,加入后续遇到的问题以及解决问题的方法,持续的做一个记录. 好了,废话不多说,咱们开始今天的内容吧.因为之前使用jest时候的项目是移植过来的项目,因为复杂的环境以及外部文件引入的等等等等的问题.采用的方式就是新建一个空的vue-cli生成的用jest来做单元测试的项目,这就导致了测试环境的配置是极为脆…
在vue中使用echarts主要是注意如何与vue生命周期相结合,从而做到数据驱动视图刷新 主要是以下几步: echarts的option配置项放在在data(){}或者computed(){}中 在mounted(){}生命周期去初始化数据,初始化echarts 在updated(){}生命周期中去setOption(option)渲染echarts. 模板vue文件如下: <template> <div id="myChart" ref="myChart…
用Vue开发项目有一段时间,在实际项目中遇到一些问题,在里把问题记录下来,并附上解决方案,给遇到同样的问题的码友提供一个解决思路吧: 测试部抛出问题一:在Vue1.0路由vue-router中,当点击菜单一个组件加载出来表格列表,输入查询条件查询,当在单击这个菜单后表格的数据没有重置查询条件和查询结果. 原因分析:Vue路由在页面渲染一个组件后加载后,再加载这个组件,组件不会摧毁后在重新生成这个组件,不会重新触发组件的生命周期中的方法.代码如下: <!DOCTYPE html> <htm…
用Vue开发项目有一段时间,在实际项目中遇到一些问题,在里把问题记录下来,并附上解决方案,给遇到同样的问题的码友提供一个解决思路吧: 测试部抛出问题一:在Vue1.0路由vue-router中,当点击菜单一个组件加载出来表格列表,输入查询条件查询,当在单击这个菜单后表格的数据没有重置查询条件和查询结果. 原因分析:Vue路由在页面渲染一个组件后加载后,再加载这个组件,组件不会摧毁后在重新生成这个组件,不会重新触发组件的生命周期中的方法.代码如下: <!DOCTYPE html> <htm…
在vue项目的开发中,表单的验证必不可少,在开发的过程中,用的是vue+iview的一套,我们知道iview的表单验证是基于async-validator,对于async-validator不熟悉的可以去官网看看,https://github.com/yiminghe/async-validator: 1.普通的自定义验证 <Col span="24"> <FormItem label="确认密码" prop="passwordrepea…
有一些问题不限于 Vue,还适应于其他类型的 SPA 项目. 1. 页面权限控制和登陆验证 页面权限控制 页面权限控制是什么意思呢? 就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的.如果一个页面,有角色越权访问,这时就得做出限制了. 一种方法是通过动态添加路由和菜单来做控制,不能访问的页面不添加到路由表里,这是其中一种办法.具体细节请看下一节的<动态菜单>. 另一种办法就是所有的页面都在路由表里,只是在访问的时候要判断一下角色权限.如果有权限就允许访问,没…
vue中我么会经常用到通用的一些全局的方法,如何左才能实现全局的复用减少代码累赘呢? 我们一般将公用的方法分装再utils.js文件中,然后再main.js主入口文件中将utils.js中的公共的方法通过@import引入进来即可,或者我们通过再main.js中设置Vue.prototype.xxx = function () {};来设置全局通用的 方法:   样式的复用也是一样的道理,我们可以通过再assets/styles中通过index.css文件将所有的通用样式再main.js文件中导…
1.项目公共配置 Conf/config.php 内容如下 <?php /** *项目公共配置 *@package *@author **/ return array( 'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay', 'APP_AUTOLOAD_PATH' => '@.ORG', 'OUTPUT_ENCODE' => true, //页面压…
Vue3组件通信方式: props $emit expose / ref $attrs v-model provide / inject Vuex 使用方法: props 用 props 传数据给子组件有两种方法,如下 方法一,混合写法 // Parent.vue 传送 <child :msg1="msg1" :msg2="msg2"></child> <script> import child from "./chil…
什么是axios?官方解释:axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 具有以下特点: 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF 但是对于目前的我而言,它就是一种用来发送网络请求的方法. 使用axios发送请求很简单,代码也极其条理化. 安装方法: (1).使用np…
1.首先在项目中安装Echarts npm install echarts -g --save //安装 2.在项目中引入Echarts(在main.js中引入) import echarts from 'echarts' //引入Echarts, Vue.prototype.$echarts = echarts //定义为全局变量 3.使用并绘制简单表格(承载画布的div必须要定义大小width.height) <template> <!-- ref="myechart&qu…
1==>首先准备一个容器 <div id="echartContainer" style="width:400px; height:400px"></div> <!--创建一个echarts的容器--> 2==>在当前的页面中使用axios 引入放在本地在static文件中的静态文件op.js 引入echarts import axios from 'axios'; 将数据格式放在js文件中 等会将他暴露出去 impo…
概述:Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 当我们使用vue向服务器发送AJAX请求时,我们会遇到跨域问题,一般跨域的解决方案有俩种,一种是官方的CORS,还有一种就是利用<script>中的src(就是jsonp), 在vue中则可以使用代理服务器来解决跨域的问题. 接下来有俩种方法的展示和介绍: 在vue.config.js里面进行配置一: devServer: {         proxy:'http://localhost:5…
main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' import axios from 'axios' Vue.prototype.$http = axios //http request 封装请求头拦截器 axios.interceptors.request.use(config => { // console.log("request&quo…
<transition name="fade">   <router-view ></router-view> </transition>   css过渡类名: 组件过渡过程中,会有四个CSS类名进行切换,这四个类名与transition的name属性有关,比如name=”fade”,会有如下四个CSS类名: fade-enter:进入过渡的开始状态,元素被插入时生效,只应用一帧后立刻删除. fade-enter-active:进入过渡的…
document.getElementById('news-shopPagechart').style.height = this.heightpx2+'px'; //heightpx2定义在data中,用于动态设置高度 let shopCharts = this.$echarts.init( document.getElementById("news-shopPagechart") ); shopCharts.resize();//直接加这句即可 shopCharts.setOpti…
0.引入echarts组件,和中国地图js import eCharts from 'echarts' import 'echarts/map/js/china.js'// 引入中国地图 1. 设置地图容器 <div id="ID_L2H1Map" style="width: 600px;height:400px;"></div> 2.调用echarts绘制地图 createEchart_2L1H1G (data) { data = [ {…
注意请求可能存在跨域问题,需要去配置好 这三种建议使用axios 1.resource Vue 要实现异步加载需要使用到 vue-resource 库. Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. 先导入一个线上cdn的地址,当然还可以去npm安装,但个人觉得这种方便 <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></scri…
近期有Jexus用户反映,在Linux ASP.NET MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404(找不到网页)错误.经我亲自测试,在WebForm网站中,httpHandlers节点的配置是有效的,而在MVC中的确无效. 造成httpHandlers无效的原因我并没有时间去深究,为了能及时解决这个问题,我把注意力放到了Global.asax文件的Application_BeginRequest方…
在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: <script type="text/javascript"> new Vue({ el:'#app', data:{data:""}, created:function(){ var url="json.jsp"; var _self=this; $.get(url,function(data){ _se…
1.作用:vuex允许把store分割为模块,每一个模块都有自己的state,actions,getters,mutations甚至是嵌套一些子模块,从上到下进行同样方式的分割 在文件src中创建一个文件夹store,包含index.js就是store.js ,然后再创建文件夹modules文件夹,此文件夹中放的就是模块, import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) import menu from './modules…
1>意外的全局变量函数中意外的定义了全局变量,每次执行该函数都会生成该变量,且不会随着函数执行结束而释放. 2>未清除的定时器定时器没有清除,它内部引用的变量,不会被释放. 3>脱离DOM的元素引用一个dom容器删除之后,变量未置为null,则其内部的dom元素则不会释放. 4>持续绑定的事件函数中addEventListener绑定事件,函数多次执行,绑定便会产生多次,产生内存泄漏. 5>绑在EventBus的事件没有解绑 6>闭包引起内存泄漏比如事件处理回调,导致D…
在处理token过期的这个问题上困扰了我很久,现在终于解决的了,所以分享出来给大家,希望能够对大家有所帮助. 首先,当然是路由进行拦截,路由拦截当然是在beforeEach中了: router.beforeEach((to, from, next) => { iView.LoadingBar.start(); //Util.title(to.meta.title, router.app); Util.title(to.meta.title); if (Cookies.get('locking')…
在使用vue.js框架的时候,有时候会希望在页面渲染完成之后,再执行函数方法来处理初始化相关的操作,如果只处理页面位置.宽或者高时,必须要在页面完全渲染之后才可以,页面没有加载完成之前,获取到的宽高不准确.使用过jquery的都知道,有个ready方法可以使用,但vue.js则需要结合watch和nextTick方法来使用. watch():用于观察Vue实例上的数据变动. nextTick:在下次 DOM 更新循环结束之后执行延迟回调. 注:其中 imgHeight 为 watch 的检测对象…
先列举一些例子 :class="['content',{'radioModel':checkType}]" :class="['siteAppListDirNode',{open:appitem.open==true}]" :class="['portalCenterMenu',{showNav:!showHideNav,hideNav:showHideNav}]" :class="{shortcutMenuShow:!showHide…
用watch方法,来限制字数 <template> <div class="box"> <textarea v-model="title" width="100%" ></textarea> <span>还可以输入{{this.titleMaxLength - this.title.length}}</span> </div> </template>…
一.axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:https://hzzly.github.io/2017/03/12/axios%E5%9C%A8vue%E4%B8%AD%E7%9A%84%E7%AE%80%E5%8D%95%E9%85%8D%E7%BD%AE%E4%B8%8E%E4%BD%BF%E7%94%A8/ 从浏览器中创建 XMLHttpRequest 从 node.js 发出 http 请求 支持 Pro…
半年木有更新博客了... 前段时间一直在学习vue,开始记录一下遇到的问题吧 这篇文章主要是总结一下vue中使用less或者sass的方法,以less为例(style.less) 主要是两种 1.对于写在vue文件中的less: 所有vue文件的<style lang="less"></style>,会被vue-loader处理编译到一个css文件中,最终自动通过link标签写入index.html(在vue-loader.conf.js中配置) <sty…