前言 本文讲解如何在 Vue 项目中使用 TypeScript 来搭建并开发项目,并在此过程中踩过的坑 . TypeScript 具有类型系统,且是 JavaScript 的超集,TypeScript 在 2018年 势头迅猛,可谓遍地开花. Vue3.0 将使用 TS 重写,重写后的 Vue3.0 将更好的支持 TS.2019 年 TypeScript 将会更加普及,能够熟练掌握 TS,并使用 TS 开发过项目,将更加成为前端开发者的优势. 所以笔者就当然也要学这个必备技能,就以 边学边实践…
如果想要了解mock模拟数据的话,请看这篇文章(https://www.cnblogs.com/tugenhua0707/p/9813122.html) 在实际应用场景中,总感觉mock数据比较麻烦,并且在webpack3中mock数据的代码在正式环境并不能自动移除掉,导致正式环境有mock相对应的代码,但是在webpack4中,会使用 tree shaking插件会自动移除掉未使用到的代码的,想要了解tree shaking(https://www.cnblogs.com/tugenhua07…
在前后端分离开发的过程中,前端开发过程中,页面的数据显示一般都是写死的静态数据,也就是没有经过接口,直接写死在代码中的,在后端给出接口后,再替换为接口数据,为了减少对接成本,mock就出现了.通过预先跟服务器端约定好的接口,模拟请求数据甚至逻辑,能够让前端开发更加独立自主,不会被服务端的开发所阻塞. 网上有不少使用mockjs模拟数据的文章,但基本都是本地拦截请求返回数据,在network 中没有发出任何的请求,本地调试起来很不好,只能通过console.log来调试.为了实现真正的异步请求,那…
安装 使用npm安装: npm install mockjs; 或直接<script src="http://mockjs.com/dist/mock.js"></script>; 1.mock模拟数据 Mock.mock('http://123.com',{ 'name: 'xiaojiang', //定义json数据 'age': 18 }); 2.ajax请求接口数据 // jq $.ajax({ url:'http://123.com', dataTyp…
1.安装mockjs依赖 (c)npm install mockjs --save-dev 2.安装axios(Ajax) (c)npm install --save axios 3.项目目录 4.设计到的相关文件 fetch.js(封装axios) import Qs from 'qs'; import axios from 'axios'; // 创建axios实例 const service = axios.create({ baseURL: process.env.BASE_API, /…
下载安装iview, 进入根目录,用命令行启动 npm install npm run build npm run dev 安装mock.js和axios npm install mock.js -save npm install axios --save 配置mock和axios 1.在main.js中引入mock.js 2.在main.js中引入axios 项目目录 api.js文件代码 import axios from 'axios' axios.defaults.headers.pos…
1.安装Vue CLI 3 //三选一即可cnpm install -g @vue/cli npm install -g @vue/cli yarn global add @vue/cli 注意: 1.如果安装过旧版的VUE CLI需要先卸载掉 //三选一即可 npm uninstall vue-cli -g npm uninstall vue-cli -g yarn global remove vue-cli 2.VUE CLI3需要node.js8.9版本及以上 官方链接>> 2.vue…
最近在跟着视频写饿了吗vue项目,其中模拟数据由于webpack版本变化,跟视频中不一致,下方博客有解决方案,其实视频里面的还能看懂,现在webpack的服务都在插件包里了,好难找. 请参考:https://blog.csdn.net/qq_24563905/article/details/78567652…
此文仅记录本人在搭建后台系统过程中遇到的难点及注意点,如果能帮到各位自然是极好的~~~ 项目主要架构:vueJS.elementUI.scss 一.项目初始化 首先需要安装nodejs,安装方法就不在赘述,关于 npm 下载速度慢的问题的解决办法: 如果安装了cnpm,要先清除:cmd运行 npm uninstall cnpm -g  清除淘宝镜像cnpm cmd运行 npm config set registry https://registry.npm.taobao.org 然后运行 npm…
vue-cli https://cli.vuejs.org/zh/ vue-cli是vue的命令行工具,对于创建项目,安装各种组件,运行项目都极为方便,是在开发vue中的必备工具 vue-cli基于nodejs,所以要先安装nodejs.从nodejs官网下载二进制包,然后把nodejs的bin目录加到系统PATH,这样就由全局的npm命令可以调用了. npm install -g @vue/cli #安装vue-cli npm install -g cnpm --registry=https:…
一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二.返回数据操作难:数据返回不对或者不够怎么办?怎么才能灵活的操作数据? 这是很多公司前后端分离之后带来的困扰,那怎么来解决这些问题? 问题一的一般解决方案:后端团队共同维护一个在线文档,每次改接口再去改对应的文档,但难免会遗漏,花的大力气但却效果平平. 问题二的一般解决方案:自己搭建一个Mock服务…
父子组件通信 父 通过props属性给 子传递数据 子 操作 父  this.$parent.XXX 子通过$emit传递参数 或者通过vue-bus vue-bus既可以实现父子组件之间的通信,也可以实现兄弟组件之间的通信 vue-bus安装 (c)npm install vue-bus 引入 import Vue from 'vue'; import VueBus from 'vue-bus'; Vue.use(VueBus); 应用: 发送: this.$bus.$emit('closeM…
1.依赖安装 本例中,使用render-content进行树节点内容的自定义,因此需要支持JSX语法.(见参考资料第3个) 在Git bash中运行一下指令 cnpm install\ babel-plugin-syntax-jsx\ babel-plugin-transform-vue-jsx\ babel-helper-vue-jsx-merge-props\ babel-preset-es2015\ --save-dev  2.常用属性 Attributes des type defaul…
demo:时间转换 1.目录 <1>在src文件夹下新建文件夹prototypefns--------在此文件夹创建util.js, <2>在prototypefns下新建文件夹jsTime--------在此文件夹下新建datatime.js datatime.js /** * 将时间转换成时间戳 * @param DateTime 为时间格式下的时间 2018/06/14 13:00:00或2018-06-14 13:00:00 * @returns {number} * @c…
使用场景:有适配pc端改为适配pc端和移动端,使用2套css 代码实现App.vue created: function () { if(document.documentElement.clientWidth > 640){ require('./style/index.scss'); this.plaform = 'pc'; }else{ require('./style/mobile.scss'); this.plaform = 'mobile'; } 注意: 为2套css分别指定不同的父…
概述: 每一个 Vuex 应用的核心就是 store(仓库).“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存储是响应式的.当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新. 你不能直接改变 store 中的状态.改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation.这样使得我们可以方便地跟踪每一…
以自己的项目为例 第一步:手动修改config文件夹中的index.js文件中的build对象,将 assetsPublicPath 中的 “/” ,改为 “你实际的加载路径” 如图: 第二步:执行(c)npm run build 第三步:发现目录下多一个dist的文件夹,双击点击index.html,就可以在本地查看效果 如图: ps:注意事项 A.如果在config -> index.js 中的 build 代码中的 productionSourceMap的值设为false ,打包后文件体积…
语法: 它有三个参数 第一个:html标签名 第二个:配置的数据对象 第三个:内容 应用1:自定义弹窗 html: <el-button type="text" @click="open4">点击打开 Message Box</el-button> js methods: { open4() { const h = this.$createElement; const aTemp = 'https://www.baidu.com/?tn=98…
1.安装 (c)npm install qs -S 2.用途 在 axios中,利用QS包装data数据 3.常见用法: import Qs from 'qs'; Qs.stringify(data); Qs.parse(data) 作者:smile.轉角 QQ:493177502…
1.html <el-form-item prop="dateTime"> <el-date-picker v-model="messageDataForm.endTime" type="datetime" :placeholder="请输入结束时间" :picker-options="pickerOptions"> </el-date-picker> 2.js expo…
1.实现的效果 输入关键字后,根据输入的关键字实时显示搜索的结果,按回车键时也进行搜索 2.原理: 通过时间戳+定时器+一个全局变量实现.代码量很少比较易懂. 用户输入时触发keyup事件,并调用事件函数.事件函数被调用后会生成对应的event.timeStamp,这个值在事件函数体内一直不会变. 将event.timeStamp赋给全局中定义的this.lastTimeStamp.这个this.astTimeStamp是一个全局的变量,这样这个值在每次事件触发时都会被改变. 如果在1s内,th…
1.安装依赖 cnpm(npm) install --save js-base64 2.应用 import { Base64 } from 'js-base64'; //加密 getEncode(){ console.log('加密',Base64.encode('12')); }, //解密 getDecode(){ let temp = Base64.encode('12'); console.log('解密:',Base64.decode(temp)); } 相关资料:https://ww…
相关资料:https://www.cnblogs.com/leaf930814/p/7247478.html https://www.cnblogs.com/duanyue/p/7458340.html   http://www.cnblogs.com/hity-tt/p/6733062.html…
<template> <div class="step2"> <el-button @click="togglePanel($event)">点击</el-button> <div class="shaw-box" v-if="visible" ref="main">弹出层</div> </div> </templat…
自己遇到的坑: InputNumber 计数器的change事件定义时如果不传入参数value,会产生this.num不同步的问题 <template> <el-input-number v-model="num" @change="handleChange" :min="1" :max="10" label="描述文字"></el-input-number> </…
1.el-input 常用布局 <el-input class="filter-item dialog-search" size="small" @keyup.enter.native="searchBtn" v-model.lazy.trim="searchKey" @change="check" :placeholder="请输入关键字" > <el-button…
Element UI手册:https://cloud.tencent.com/developer/doc/1270 中文文档:http://element-cn.eleme.io/#/zh-CN github地址:https://github.com/ElemeFE/element 1:进入项目,npm安装 npm install axios --save 2.在main.js下引用axios import axios from 'axios' 3:准备json数据 自己写了一个json数据,放…
断点 测试中有时需要改变发出去的请求信息,需要用到打断点的方法.断点包含两种方式: before response:在request请求的时候,未到达服务器之前,一般用来修改请求参数 after response:在服务器响应之后,在Fiddler将响应传回给客户端之前.我个人用的很少,一般通过mock方法来辅助测试,不向服务器发起真正的请求. 两种常用的打断点方式: 设置全局断点 全局断点就是中断Fiddler捕获的所有请求,点击rules-> automatic breakpoint ->…
首先在框架中需要安装mock模块 cnpm i mockjs -S 其次在src文件夹下新建mock文件夹,在mock文件夹中新建一个index.js文件 代码如下: const Mock = require('mockjs'); function getBannerFn () { let arr = []; for (var i = 0; i < 10; i++) { arr.push({ id: 'banner' + i, imgSrc: Mock.Random.image('100x100…
Electron-vue实战—搭建项目与安装Element UI 作者:狐狸家的鱼 本文链接 GitHub:sueRimn 一.新建项目1.初始化项目打开cmd,新建一个项目,我使用的是electron-vue,输入以下命令: vue init simulatedgreg/electron-vue my-project 1my-project就是自己随便取名的项目名. 然后提示正在下载模板,下完模板之后根据提示进行操作就行,输入你该输入的东西,然后一路Enter: 初始化完毕之后,根据提示进行操…