为您找到搜索结果:2365个
vue合并两个json对象
js合并json对象可以使用jquery中的$.extend将2的值合并到1,同key时默认2将会覆盖1的值//Mergeobject2intoobject1$.extend(object1,object2);但此种方法并不适用vue可使用concat()进行数组对象合并,但依旧不能对对象进行合并vararr3=arr1.concat(arr2);将2的值合并到1,同key时默认2将会覆盖1的值//将两个json对象合并functiontwoJsonMerge(json1,json2){varlength1=0,length2=0,jsonStr,str;for(vareverinjson1)length1++;for(vareverinjson2)length2++;if(length1&&length2)str=',';elsestr='';jsonStr=((JSON.stringify(json1)).replace(/,}/,'}')+(JSON.stringify(json2)).replace(/,}/,'}')).replace(/}{/,str);re...
vue环境变量配置——process.env
在用vue框架时,经常用到两种环境,一种是开发环境,就是本地开发时的环境,一种是生产环境,就是要发布到线上的环境。平时开发是用生产环境的,如果发布到线上时,需要切换环境为线上。如果人为去切换也是可以的,但是会容易忘记,可以通过配置不同的运行命令来自动切换环境。下面开始:配置环境的实现原理实现原理就是采用node.js顶层对象中的process.env(进程环境,返回一个包含用户环境信息的对象)属性,根据各个环境的配置文件区分和切换环境具体实例1.安装依赖npminstallprocess2.创建.env.dev 和.env.prod两个文件注意文件要创建在根目录下面.env.dev文件内容如下:NODE_ENV='production'VUE_APP_TITLE='prod'/*请求接口地址*/VUE_APP_INTERFACE="https://xxx"3.设置项目启动时默认的环境只需要在项目启动命令后面修改需要的环境就行了,例如npmrundev,把--modedev改为--modeprod就变成了开发环境package.json部分内容如下:"scripts":{"de...
C# 无边框 WinForm 的一些笔记
如何拖动usingSystem.Runtime.InteropServices;[DllImport("user32.dll")]publicstaticexternboolReleaseCapture();[DllImport("user32.dll")]publicstaticexternboolSendMessage(IntPtrhwnd,intwMsg,intwParam,intlParam);publicconstintWM_SYSCOMMAND=0x0112;publicconstintSC_MOVE=0xF010;publicconstintHTCAPTION=0x0002;privatevoid_headPanel_MouseDown(objectsender,MouseEventArgse){ReleaseCapture();SendMessage(this.Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION,0);}如何最大化、还原Formform=this.FindForm();//这里把控制按钮做成了用户控件,如果没有做成用户控件,就不...
vue中v-model和v-bind区别
绑定数据三种方式: >> 插值,也就是{{name}}的形式,以文本的形式和实例data中对应的属性进行绑定 >>v-bind: 可以传给 v-bind:class 一个对象,简写为class: 单向变动:当加上v-bind:之后,它的值class不是字符串,而是vue实例对应的data.classed的这个变量。也就是说data.classed是什么值,它就会给class属性传递什么值,当data.classed发生变化的时候,class属性也发生变化,非常适合用在通过css来实现动画效果的场合。 支持类型:html属性、css样式、对象、数组、number、boolean; //绑定文本 <p:message></p> //绑定属性 <p:class="src"></p> <p:style="styleCss"></p> <p:sr...
vue组件通信 vue bus方面的总结
vuebus通常使用在兄弟与兄弟组件之间然后在组件中,可以使用emit on, $off分别来分发,监听,取消监听事件 这里的$off可以取消多次使用$bus监听的事件使用用法1:引入vueimportVuefrom'vue'2:在main.js中引入vuebusimportBusfrom'***/***/bus';Vue.prototype.$bus=Bus3:使用方法this.$bus.$emit("Page",value);//很像父子之间传值的方法4:接收this.$bus.$on("Page",v=>{//vaPage传的时候的key是什么接收就必须是什么console.log(v);//v是传来的值,可以接收多个参数})5:总结使用$bus的时候在接受bus的组件中别忘了再beforDestroy函数中销毁bus,不销毁的话会一值叠加的调用这个方法:beforDestroy(){this.$bus.$off("vaPage");//当这个组件销毁的时候bus也跟着一起销毁} &nb...
vue.js 打包时出现空白页和路径错误
vue-cli输入命令:npm run build即可打包vue.js的项目 打包出来后项目中就会多了一个文件夹dist,下图为我们打包过后的项目 我们直接运行打包后的文件夹中的index.html文件,会看到网页一片空白,f12调试,全是css,js路径引用错误的问题。解决:到config文件夹中打开index.js文件。文件里面有两个assetsPublicPath属性,更改第一个,也就是更改build里面的assetsPublicPath属性:assetsPublicPath属性作用是指定编译发布的根目录,‘/’指的是项目的根目录,’./’指的是当前目录。...
vue 生产环境build打包出现空白页面的解决方法
vue生产环境build打包出现空白页面的解决方法:如果出现:webpackjsonpisnotdefined因为公共文件必须在引用js之前引用。只需要在build文件下webpack-prod-conf.js找到htmlwebpackPlugin添加chunks:['manifest','vendor','app']然后npmrunbuild就OK了...
前端Vue中使用crypto-js对数据进行加密,后端php解密
使用前后端分离技术,前端采用Vue,后端使用php,在开发过程中因某些数据需要进行加密与解密,我们采用前端插件crypto-js应用于项目中。安装crypto-jsnpminstallcrypto-js在Vue项目中编写前端加密工具类/tools/crypto.js/**crypto.js**///npminstallcrypto-js/***AES对称加密(不安全)*/letCryptoJS=require('crypto-js');exportdefault{/***接口数据加密函数*@paramstrstring需加密的json字符串*@paramkeystring加密key(16位)*@paramivstring加密向量(16位)*@returnstring加密密文字符串*/encrypt(str,key,iv){//密钥16位varkey=CryptoJS.enc.Utf8.parse(key);//加密向量16位variv=CryptoJS.enc.Utf8.parse(iv);varencrypted=CryptoJS.AES.encrypt(str,ke...
vue手动触发事件实现的方法是什么
1.首先,在vue-cli中创建一个vue.js项目;vuecreateproject-name2.vue.js项目创建好后,在项目中使用@click.native属性绑定一个点击事件;<aclass="link"@click.native="test">点击事件</a>3.事件绑定好后,添加一个button按钮,用于手动触发事件;<button@test='shout'>事件</button>4.最后,按钮添加好后,在项目中添加以下代码即可手动触发事件;<scripttype="text/javascript"> ...
vue3 使用v-model父传子并修改传值
vue3使用v-model替代vue2的v-bind.sync父使用v-model传值给子,这里的v-model本质上是:modelValue=“值”,@update:modelValue="值=$event"这二者的缩写<template><div>双向绑定{{num}}<childv-model="num"></child>//上方代码是下方的简写<child:modelValue="num"@update:modelValue="num=$event"></child></div></template><script>importchildfrom'./test.vue'exportdefault{components:{child},data(){return{num:0}}}</script>所以子中通过在props中接收modelValue再$emit(‘update:modelValue&rsquo...
vue怎么导入excel文件和多个sheets
这篇文章主要介绍了vue怎么导入excel文件和多个sheets的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么导入excel文件和多个sheets文章都会有所收获,下面我们一起来看看吧。html导入按钮和选择文件的弹框 <el-button v-waves :loading='downloadLoading' class='filter-item' type='primary' icon='el-icon-download' @click='daoru'> 导入 </el-button> <el-dialog title="导入文件" :visible.sync="excelImportShow"> <a rel="externalnofollow"href="javascript:;" rel="external nofollow" class="file"> <input id="upload" type="fi...
Vue 首屏优化
步骤1:查 npmrunbuild--report analyzer工具步骤2:减1.固定模板,index引入cdn:vue.js、router.js、mintUI等第三放工具;其次,在webpack中配置externals externals:{ 'vue':'Vue', 'mint-ui':'MINT', 'vue-router':'VueRouter' },2.懒加载:Importindexfrom'@/components/index'{path:'/',name:'index',component:index} 替换:{path:'/',name:'index',component:()=>import('@/components/index')}步骤3:js底部,css顶部;部署CDN;静态资源打包压缩;预加载和懒加载前端代码审核清单:前端安全、性能、代码质量、注释、测试、故障处理; ...
vue组件传递和vuex状态管理
状态管理:Conststore=Newvuex.store({State:{mssAlert:{Show:false,Msg:'xxx'},ErrorBox:{Show:false,Msg:'sssss'},showMenu:false,Count:1….},Getters:{//类似 vue的compute,监听state值变化(最新状态) isShow(state){//承载拜变化的值Returnstate.showMenu }, getChangedNum(){//获取变化的值Returnstate.cahngableNum; }},Muttations:{add(state){State.count+=1;},jian(state){State.count-=1;}},Actions:{},Mouduls:{}})Exportdefaultstore; muttations使用:This.store.commit('add');This.store.commit('jian');子传父组件;this.$emit子注册:submitInfo:function(){Th...
Vue 动态添加路由及生成菜单
不同角色有不同的权限,这时如果管理平台的菜单定义在代码里,显然是不能满足上面的需求,我们就需要后台提供用户菜单,然后前台动态生成路由。1动态添加路由利用vue-router的addRoutes方法可以动态添加路由。请求接口返回菜单格式如下[{"id":"1332194352530083842","pid":"1331859957655007233","name":"TspUser","component":"user/tspuser/index","redirect":null,"meta":{"title":"用户信息","icon":"pic-right","show":true,"target":null,"link":null},"path":"/user","hidden":false},{"id":"1334396728339042306","pid":"1333592942347546625","name":"Product","component":"fota/product/index","redirect":null,"meta":{"title":"产品信息","...
Vue中watch的详细用法
vue是数据双向绑定,当页面数据发生变化时,我们通过watch可以拿到变化前和变化后的值,之后做一系列操作,下面我们通过例子来解释。1.监听单个值变化<template><div><el-inputv-model="demo"></el-input><div>{{value}}</div></div></template><script>exportdefault{name:'index',data(){return{demo:'',value:''};},watch:{demo(val,oldVal){this.value=this.demo;}}};</script>这个比较简单,我们用到了两个变量,demo和value,这里演示重点是value值是怎么变化的,我们监听的demo,这个demo通过v-model绑定到input,当input内容改变时,我们就把input里的值赋值到value。但是这个写法有个弊端,就是首次绑定不会执行监听函数,有值发生改变才会执行...