很实用的Vue自定义指令

仓库地址: https://github.com/Dafrok/v-hotkeyDemo:https://dafrok.github.io/v-hotkey安装:  npminstall--savev-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下Escape键后隐藏某个组件,按住Control和回车键再显示它吗?小菜一碟:<template><divv-show="show"v-hotkey="{'esc':onClose,'ctrl+enter':onShow}">Press`esc`tocloseme!</div></template><script>exportdefault{data(){return{show:true}},methods:{onClose(){this.show=false},onShow(){this.show=true},}}</script> 仓库地址: https://github.com/nde...

vue-cli3 element 按需加载按需引入

1.安装element-uinpmielement-ui-S 2.安装按需引入必要插件npminstallbabel-plugin-component-D 3.修改babel.config.jsmodule.exports={presets:["@vue/app"],plugins:[//element官方教程["component",{libraryName:"element-ui",styleLibraryName:"theme-chalk"}]]}; 4.在main.js中按需引入你要用到的组件,比如Button按钮importVuefrom'vue'import{Button,Input}from'element-ui'importAppfrom'./App.vue'Vue.component(Button.name,Button)Vue.component(Input.name,Input)/*或写为*Vue.use(Button)*Vue.use(Input)*/newVue({el:'#app',render:h=>h(App)})&n...

vue-lazyload 图片懒加载

vue-lazyload简单使用github地址:https://github.com/hilongjw/vue-lazyload 1.安装插件npminstallvue-lazyload--save 2.引用文件,一般在main.js全局引用,及全局配置importVuefrom'vue'importAppfrom'./App.vue'importVueLazyloadfrom'vue-lazyload'Vue.use(VueLazyload)//orwithoptionsVue.use(VueLazyload,{preLoad:1.3,//提前加载高度(数字1表示1屏的高度)error:'dist/error.png',//图片加载失败时显示的图片loading:'dist/loading.gif',//图片加载状态下显示的图片attempt:1//加载错误后最大尝试次数})newVue({el:'body',components:{App}})  3. vue文件中将需要懒加载的图片绑定v-bind:src修改为v-lazy&nb...

vue 图片放大镜效果

插件名称:vue-photo-zoom-prohttps://github.com/Mater1996/vue-photo-zoom-pro 效果图  使用:<template><divclass="images"><img@click.stop="showBigPicture(url)":src="url"<!--显示大图--><Modalv-model="pictureModal"width="960"footer-hide:closable="closable"class-name="vertical-center-modal"><photo-zoom:url="bigPictureUrl":bigWidth="200":scale="2"overlayStyle="width:100%;height:600px;border-radius:3px;"></photo-zoom></Modal></div></template><s...

vue图片放大、缩小、旋转等

用于图片浏览的Vue组件,支持旋转、缩放、翻转等操作,基于viewer.js。效果: 使用npm命令安装npminstallv-viewer引入v-viewer及必需的css样式,并使用Vue.use()注册插件,之后即可使用。//main.js中引入或者在组件里引入import'viewerjs/dist/viewer.css'Vue.use(Viewer) 以指令形式使用只需要将v-viewer指令添加到任意元素即可,该元素下的所有img元素都会被viewer自动处理。你可以像这样传入配置项: v-viewer="{inline:true}"如果有必要,可以先用选择器查找到目标元素,然后可以用el.$viewer来获取viewer实例<template><divid="app"><divclass="images"v-viewer="{movable:false}"><imgv-for="srcinimages":src="src":key="src"></div><buttontype...

vue项目使用webpack构建的本地服务环境,在手机上访问调试

使用vue脚手架构建的项目,一般在本地localhost运行,配合浏览器的模拟调试工具开发。如果想看真机环境,又不想build到线上。webpack能配置电脑本地内网环境指向公网访问的! 1、打开项目的package.json文件,修改里面的script里面的dev"scripts":{"dev":"webpack-dev-server--inline--progress--configbuild/webpack.dev.conf.js--host192.168.0.100",//就是在原有的基础上在后面加上了--host就是自己的电脑IP;"start":"npmrundev","build":"nodebuild/build.js"},#可以打开cmd控制台,输入ipconfig,查看自己的电脑ip; 2、修改好了之后本地电脑访问要把之前网址的localhost换成自己的电脑ip地址;在config文件里面修改host:'localhost',//把这个也改为你电脑的ip例:192.168.0.100port:8080,autoOpenBrowser:false...

vue使用sass的配置的方法

 1、安装sass的依赖包npminstall--save-devsass-loader//sass-loader依赖于node-sassnpminstall--save-devnode-sass 2、在build文件夹下的webpack.base.conf.js的rules里面添加配置{ test:/.sass$/, loaders:['style','css','sass']}如下图所示:3、在APP.vue中修改style标签<stylelang="scss"> 4、然后运行项目$npmrundev 5、修改APP.vue的样式,看到效果说明你已成功配置好sass ...

基于vue-cli配置移动端自适应

移动端自适应:手淘的 lib-flexible +rem在命令行中运行如下安装:1npmilib-flexible--save在项目入口文件main.js里引入lib-flexible12//main.jsimport'lib-flexible'在项目根目录的index.html中添加如下meta1<metaname="viewport"content="width=device-width,initial-scale=1.0">实际开发中,我们通过设计稿得到的值单位是px,所以要将px转换成rem再写进样式中。将px转换成rem我们将使用px2rem这个工具,它有webpack的loader:px2rem-loader在命令行中运行如下安装:1npmipx2rem-loader--save-dev在vue-cli生成的webpack配置中,vue-loader的options和其他样式文件loader最终是都是由build/utils.js里的一个方法生成的。我们只需在cssLoader后再加上一个px2remLoader即可,px2rem-loade...

vue图片上传到七牛云

代码:<template><divclass="upload-info"><div><el-uploadclass="upload-pic":action="domain":data="QiniuData":on-remove="handleRemove":on-error="uploadError":on-success="uploadSuccess":before-remove="beforeRemove":before-upload="beforeAvatarUpload":limit="3"multiple:on-exceed="handleExceed":file-list="fileList"><el-buttonsize="small"type="primary">选择图片</el-button></el-upload><div><imgclass="pic-box":src="uploadPicUrl"v-if="uploadPicUrl"></div>...

vue百度地图插件

安装npmi--savevue-baidu-map 代码<template><div><baidu-mapv-bind:color:#800000;">"mapStyle"class="bm-view"ak="你的百度地图ak":center="center":zoom="zoom":scroll-wheel-zoom="true"@click="getClickInfo"@moving="syncCenterAndZoom"@moveend="syncCenterAndZoom"@zoomend="syncCenterAndZoom"><bm-viewcolor:#800000;">"width:100%;height:500px;"></bm-view><bm-marker:position="{lng:center.lng,lat:center.lat}":dragging="true"animation="BMAP_ANIMATION_BOUNCE"></bm-marker><b...

vue项目开发基本目录结构

.├──build/#Webpack配置目录├──dist/#build生成的生产环境下的项目├──src/#源码目录(开发都在这里进行)│├──assets/#放置需要经由Webpack处理的静态文件│├──components/#组件│├──filters/#过滤器│├──store/    #状态管理│├──routes/#路由│├──services/#服务(统一管理XHR请求)│├──utils/#工具类│├──views/#路由页面组件│├──app.js#启动文件│├──index.html#静态基页├──static/#放置无需经由Webpack处理的静态文件├──.babelrc#Babel转码配置├──.eslintignore#(配置)ESLint检查中需忽略的文件(夹)├──.eslintrc#ESLint配置├──.gitignore#(配置)需被Git忽略的文件(夹)├──package.json#(这个就不用多解释了吧)├──package-lock.json#(以记录当前状态下实际安装的各个npmpackage的具体来源和版本号) 您可以根据业...

vue2.0无限滚动加载数据插件

 做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading这个插件代替,使用中遇到的一些问题及使用方法,总结作记录!安装:npminstallvue-infinite-loading–save引入ES6importInfiniteLoadingfrom'vue-infinite-loading';exportdefault{components:{InfiniteLoading,},};CommonJSconstInfiniteLoading=require('vue-infinite-loading');exportdefault{components:{InfiniteLoading,},};1.用法一(基本用法)Template<div><pv-for="iteminlist">Line:<spanv-text="item"></span></p><!--infinite-loading这个组件要放在列表的底部,滚动的盒子...

Vue使用vue-echarts图表

vue-echarts和echarts的区别:vue-echarts是封装后的vue插件,基于 ECharts v4.0.1+开发,依赖 Vue.js v2.2.6+,功能一样的只是把它封装成vue插件这样更方便以vue的方式去使用它。echarts就是普通的js库,vue-echarts特征:轻量,高效,按需绑定事件支持按需导入ECharts.js图表​​和组件支持组件调整大小事件自动更新视图git地址:https://github.com/ecomfe/vue-echartsnpm(推荐方式)$npminstallvue-echartsbower$bowerinstallvue-echarts手动安装直接下载 dist/vue-echarts.js 并在HTML文件中引入:<scriptsrc="path/to/vue-echarts/dist/vue-echarts.js"></script>用npm与vue-loader基于ESModule引入(推荐用法)importVuefrom'vue'im...

vue-countTo---简单好用的一个数字滚动插件

vue-countTo是一个无依赖,轻量级的vue组件,可以自行覆盖easingFn。你可以设置 startVal 和 endVal,它会自动判断计数或倒计时。支持vue-ssr。vue-countTo参考于countUp.js;安装使用:npminstallvue-count-to例子:<template><countTo:startVal='startVal':endVal='endVal':duration='3000'></countTo></template><script>importcountTofrom'vue-count-to';exportdefault{components:{countTo},data(){return{startVal:0,endVal:2017}}}</script>使用CDN脚本: demo选项PropertyDescriptiontypedefaultstartVal开始值Number0endVal结束值Number2017du...

vue 监听路由变化

方法一:通过watch//监听,当路由发生变化的时候执行watch:{$route(to,from){console.log(to.path);}},或//监听,当路由发生变化的时候执行watch:{$route:{handler:function(val,oldVal){console.log(val);},//深度观察监听deep:true}},或//监听,当路由发生变化的时候执行watch:{'$route':'getPath'},methods:{getPath(){console.log(this.$route.path);}} 方法二::key是用来阻止“复用”的。Vue为你提供了一种方式来声明“这两个元素是完全独立的——不要复用它们”。只需添加一个具有唯一值的 key 属性即可(Vue文档原话)<router-view:key="key"></router-view>computed:{key(){returnthis.$route.name!==...
首页上一页...154155156157158下一页尾页