vue 集成 typescript Element UI 之懒人集成法
背景最近有点时间,就想把我的vue项目版本升级一下,顺便在折腾一下typescript...踩过的坑elementui官方已经写了d.ts,但会有一个小坑,但issue都有解决方案...正文vue引入ts有好几种方案,一种引入是还是在.vue文件里写,不过是集成之后在<script>里加个lang="ts"。一种是写在.ts文件中,我用的就是这一种....引入方式极其简单,使用这个vue-webpack-typescript步骤1:安装vue-clinpmivue-cli-g2:创建模板vueinitducksoupdev/vue-webpack-typescriptmy-project3:安装依赖npmi因为这个模板用的是sass,可以使用npmicnpm-gcnpminode-sass-g安装node-sass4:集成elementui在main.ts里这样引入修改element-ui的index.d.ts添加css的loader完事...文件目录结构
我的Promise秘密初探之小试牛刀
在前端开发中,相信很多读者都使用过AJAX,这种比较:ox:逼的异步处理方式,确实在一定程度上方便和简化了我们的某些需求,但有时候也会遇到在一个操作中,会需要多个异步请求的情况,在以往的处理中,比如笔者就曾做过2个及多个AJAX层层嵌套着处理的方式,这种方式,在当时看上去也可以满足一般的需求,但看着别扭,总觉得哪里不爽;$.ajax({cache:false,type:'POST',url:url1,dataType:'json',success:function(data){$.ajax({cache:false,type:'POST',url:url2,data:{para:list},dataType:'json',success:function(result){......}})}})如上,魔鬼嵌套;很快,随着ES6的发布,Promise横空出世,之前多个AJAX多层嵌套的处理方式,看上去显得那么的low,如此的恶劣不堪,反观Promise,高端大气上档次-------哈哈,是不是有点喜新厌旧的嫌
Vue+Element-UI框架---upload传token问题
el-upload控件代码如下:methods代码如下:我说一下我之前的一直报错,加token时候一直提示:RequestheaderfieldAuthorizationisnotallowedbyAccess-Control-Allow-Headersinpreflightresponse.因为之前我的action="http://xxxxx/xxxx/xxxx",后来就去掉了http://那些,只保留配置的URL路径,我改成了action="/xxxx/xxxx";然后就好了。配置的URL路径解释一下,就是如下图这样:配置完了以后,所有的Http请求都可以简写成下面这样,因为我对VUE不是太熟悉,具体这样配置的原理,我不太清楚。
AngularJs 入门(1)--前言
AngularJs入门(一)前言AngularJs目前来说相对于现在流行的高版本ng2、ng4,以及Vue2.0、React来说实属是老套的前端框架了,当然这都不重要,没有完美的框架,只有不断优化的代码。其实只是符合公司水平要求才这么整的啊。。话不多说,开搞吧。一、什么是AngularJs1、AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:1>类库-类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等。2>框架-框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的
WPF:与windows窗体进行交互
混合窗口和窗体显示模态窗口和窗体从WPF应用程序中显示模态窗体很简单,如WPF中:Form1frm=newForm1();if(frm.ShowDialog()==System.Windows.Form.DialogResult.OK){MessageBox.Show("YouclickedOKinaWindowsFormsfrom.");}在windows窗体应用程序显示WPF的方法:Window1win=newWindow1;if(Win.ShowDailog()==ture){MessageBox.Show("YouclickedOKinaWPFwindow.");}显示非模态窗口和窗体在Windows窗体中非模态显示WPF,需如下:引入WindowsFormsIntegration.dll程序集Window1win=newWindow();ElementHost.EnableModelessKeyboardInterop(win);win.sho
C# 写系统日志
因为我不想使用自己写文件,我的软件是绿色的,所以把日志写到Windows日志。首先告诉大家什么是系统日志,请看下面如果需要写日志,需要管理员权限,如果没有权限会出现下面异常System.Security.SecurityException:“未找到源,但未能搜索某些或全部事件日志。不可访问的日志:Security需要判断当前是否已经存在日志,下面我来创建一个事件叫“德熙”if(EventLog.SourceExists("德熙")){EventLog.CreateEventSource("德熙","Application");}这里的Application就是写到哪个,一般都是选Application,可以从图片看到系统的有应用程序、安全、Setup、系统几个日志,程序一般都是写到程序写日志写日志就不用管理权限写入可以使用WriteEntry,需要传入写入的日志和内容EventLog.WriteEntry("德熙","有个不愿告诉你名称的程序在这里写字符串");这个方法还有几个重载,可以
WPF:(1)Window相关样例大集合
源项目地址:https://github.com/Microsoft/...以下是把样例转换为简要说明,同时给出实际运行效果及关键代码:自定义窗口通过Thumb控件移动无窗口工作区的可控大小,及可拖动窗体。privatevoidWindow_MouseLeftButtonDown(objectsender,MouseButtonEventArgse){DragMove();}privatevoidResizeThumb_DragDelta(objectsender,DragDeltaEventArgse){//Resizewindowwidth(honoringminimumwidth)vardesiredWidth=(int)(ActualWidth+e.HorizontalChange);varminWidth=(int)(MinWidth+resizeThumb.Width+resizeThumb.Margin.Right);
C#设计模式之总结篇
C#设计模式之总结篇一、引言C#版本的23种设计模式已经写完了,现在也到了一个该总结的时候了。说起设计模式,我的话就比较多了。刚开始写代码的时候,有需求就写代码来解决需求,如果有新的需求,或者需求变了,我就想当然的修改自己的代码来满足新的需求,这样做感觉是理所当然的,也没感觉有什么不妥的地方。写了两年多代码,偶尔一次,听说了设计模式,据听说设计模式就是软件界的“独孤九剑”,学会之后就可以天下无敌,于是我就开始了我的进修之路。想当初,我就像很多的初学编程的人一样,在面试官面前很容易说出面向对象语言的三大特征:继承,多态和封装,其实,我根本不理解这三个词语的意思,或者说理解的很浅薄。当然也有很多概念是不清楚的,比如:OOPL(面向对象语言)是不是就是OO的全部,面向对象的设计模式和设计模式的到底有什么区别,等等相关问题。自从自己学了设计模式,很多概念变得清晰明了,做事有原则了,或者说有准则了,不像以前只是解决了问题就好,根本不管代码写的是否合理。写的代码可以很优美了,结构更合理了,自己开始重新思考代码这个东西。学习设
在CentOS上使用VS Code调试.Net Core应用程序
在《Asp.NETCore+ABP框架+IdentityServer4+MySQL+ExtJS之部署到Linux》一文中,部署的应用程序存在许多小问题,于是决定直接在Linux系统上使用VSCode来调试,看能不能解决这些问题。在开始前,首先要做的是在虚拟机上装一个带有图形界面的CentOS。系统安装好以后,按照部署一文设置好Apache、MariaDB和.NetCore,然后开始安装VSCode,安装步骤可以参考文章《RunningVSCodeonLinux》。在这里主要参考的就是RHEL,FedoraandCentOSbaseddistributions这一节。主要步骤就是先安装签名和存储,命令如下:sudorpm--importhttps://packages.microsoft.com/keys/microsoft.ascsudosh-c'echo-e"[code]\nname=VisualStudioCode\nbaseurl=https://packages.micr
技术胖155集前端视频教程-全部免费观看
大家好,我就是技术胖,2017年我在下班时间录制了200集左右的视频教程,现在贡献155集免费观看,希望可以帮助前端小伙伴学习(点击下面链接免费观看)。需要说明的是本人还是一线奋战的前端程序员,不是专业讲师,所以教程难免有所纰漏和错误,还请多多理解和指正。这些视频都是本人原创,希望前端爱好者喜欢。(如果你想和技术胖成为朋友,在文章下方有微信二维码),录课开源不易,如果文章对你有帮助,请点赞和打赏。Vue2.x基础视频(27集)技术胖Vue2.0基础视频01__HelloWord实例技术胖Vue2.0基础视频02_v-if和v-show技术胖Vue2.0基础视频03_v-for循环指令技术胖Vue2.0基础视频04v-text和v-html指令技术胖Vue2.0基础视频05v-on指令技术胖Vue2.0基础视频06v-model数据源绑定指令技术胖Vue2.0基础视频07v-bind标签属性绑定技术胖Vue2.0基础视频08其它指令技术胖Vue2.0基础视频09自定义指令技术胖Vue2.0基础视频10extend扩展实例构造器技术
Element 2.0.11 发布,基于 Vue 2.0 的组件库
Element2.0.11已发布,更新如下:修复Input的prepend或appendslot中Select的边框颜色错误,#9089修复Select的remove-tag事件参数与文档不符的问题,#9090新增SubMenu的show-timeout和hide-timeout属性,#8934(by@HugoLew)修复按需引入Table时show-overflow-tooltip的Tooltip样式丢失的问题,#9130修复Table在执行clearSort后点击对应列的排序图标无法正常排序的问题,#9100(by@zEmily)捷克语的i18n配置文件由cz重命名为cs-CZ,#9164查看更新日志以了解更多。源码下载Sourcecode(zip)Sourcecode(tar.gz)Element是一套为开发者、设计师和产品经理准备的基于Vue2.0的组件库,提供了配套设计资源
Ember.js 3.0.0-beta.2 发布,不再支持 Ember.Binding
Ember.js3.0.0-beta.2已发布,该版本包含以下的更新:#16067[BUGFIX]Fixissueswithrun.debouncewithonlymethodandwait.#16045[BUGFIX]Fixdoubledebugoutput#16050[BUGFIX]Addinspectandconstructortolistofdescriptorexceptions#16080[BUGFIX]AddmissingmodulesdocsfortryInvoke,compare,isEqual#16079#16084[BUGFIX]Updatecomputed.sortdocstoavoidstateleakage#16087[BUGFIX]EnsureApp.visitresolveswhenrenderingcompleted.#16090[CLEANUP]RemoveEmber.B
关于Parcel你需要知道的所有内容:超快的Web应用打包器
Parcel有什么特殊之处,为什么值得关注呢?webpack要有大量的配置,这样带来的成本就是复杂性——与此相对的,Parcel带来了简洁性。Parcel将自己标榜为“零配置”。Parcel内置了一个开发服务器,这个开发服务器能够在我们修改文件之时自动重新构建应用,为了加快开发,它还支持模块热替换。Parcel的好处是什么?更快的构建速度:Parcel比Webpack、Rollup和Browserify更快;需要注意:Webpack依然非常棒,有些场景下它仍然会更快一些。Parcel内置支持JS、CSS、HTML、文件资产等等,这不需要插件,对用户会更加友好;零配置,内置了codesplitting、热模块加载、CSS预处理、开发服务器、缓存等等;Parcel有更加用户友好的错误日志。那么,我们该何时使用Parcel、Webpack或Rollup呢?这完全取决于你,但是我个人会在以下场景中使用不同的打包器:Parcel:小型到中型规模的项目(代码行小于15k)
npm 2017 JavaScript 框架报告之后端框架
之前我们报道了npm2018年的第一个JavaScript现状报告的第一部分和第二部分,分别分析了前端框架的现状和React生态系统。今天,我们将报道第三部分,对后端框架的现状进行解读。主要后端框架后端框架中,变化比较明显的是Express,这是用JavaScript编写的后端服务的主流解决方案。其他四个框架相比之下变化趋势并不明显,图标中几乎无法体现。Express从2013年初以来已经增长了6000%。之呈现下降趋势,是因为在同一时间内,注册数量增长了67000%。换句话说,JavaScript在编程语言中正以前所未有的增长。npm的前端框架出现爆炸式增长npm社区中,JavaScript的前端开发人员占比83%,后端开发人员占比41%,二者比例2:1其他后端框架其他除了Express的其他四个框架:KoaHapiSailsNextHapiHapi在2014年末有一个短暂的鼎盛时期。然而,Hapi自此以后一直处于下滑状态。
码云推荐 | 查询数据功能性的 JS 插件 JSsearch
JSsearchJSsearch可以帮助你查询指定的数据,他完全支持关键词查询、长度查询、下标查询它的查询速度也非常快,1百万次查询只需要1秒多即可完成!同时,JSsearch也支持记录查询时间、自动检查错误、自动删除没有任何匹配度的字符为什么要使用JSsearch?第1点:快速JSsearch非常的快速,在100个以内的查询只需要0.1毫秒!这个速度无疑是非常快!【在1000000(一百万)个内容中查询只需要1秒多!】第2点:方便JSsearch(js文件)只有不到2kb的内容,打开速度非常之快!而且加载也很快!第3点:实用JSsearch内置许多设置,可以帮助你完成许多不需要更改源代码即可完成的设置!
javascript 执行环境细节分析、原理-12
前言前面几篇说了执行环境相关的概念,本篇在次回顾下执行环境(Executioncontext,简称EC,也称执行上下文)定义了变量或者函数有权访问的数据,决定了各自行为,每个执行环境都有一个变量对象,之前我说执行环境可以先理解为js代码执行时所在的环境,其实把上下文当做是一个对象应该差不多了。注意:每调用一次函数都会创建一个执行上下文,而且将这个上下文压入执行环境栈的顶部,无论是函数内部的函数、还是递归调用等;全局执行环境是最后的一个执行环境,在web中全局执行环境是window对象,js引擎一开始默认进入全局执行环境执行环境栈执行环境栈的作用是为了保证程序能够按照正确的顺序被执行,当执行流进入一个函数时,函数的执行上下文就会被推入这个环境栈中的顶端,当函数执行完毕之后,栈将这个执行上下文弹出,然后把控制权返回给之前的执行上下文。这样实现的原因是由于Javascript解释器是单线程的,也就是同一时刻只能发生一件事情,其它等待执行的上下文会在这个环境栈中排队等待。变量对象变量对象是与执行上下文相关的数据作用域
ThinkPHP3.2分页显示,超详细,超简单
第一步:导入类下载AjaxPage.class.PHP我这里的提供的是之前3.1时候用的,在3.2用的时候需要在类里面加个命名空间Paste_Image.png这个类放在Think
使用karma+mocha进行前端测试驱动开发(一)
目前来看karma+mocha非常适合做TDD(测试驱动开发)。测试驱动开发(英语:Test-drivendevelopment,缩写为TDD)是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。TDD提倡写代码之前先把单测写好,然后通过单测来验证代码是否正确。这就需要有一个单测框架(即mocha),但这还不够,也不能每写完一次就运行一下单测代码,这也效率太低了吧,所以还需要一个框架(即karma)来做这个事情。这里先介绍一些JS单测框架mocha(https://github.com/mochajs/mocha,tj大神的作品,奈何大神觉得Node没搞头去搞go了)。安装还是比较简单,这里就不多说了。提醒一下,如果是在Windows下安装Node的话可能需要设置一下环境变量。实例:一个加法模块src/add.js的代码:functionadd(x,y){returnx+y;}module.exports=
快速掌握JavaScript面试基础知识(一)
为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。根据StackOverflow调查,自2014年一来,JavaScript是最流行的编程语言。当然,这也在情理之中,毕竟1/3的开发工作都需要一些JavaScript知识。因此,如果你希望在成为一个开发者,你应该学会这门语言。这篇博客的主要目的是将所有面试中常见的概念总结,方便你快速去了解。(译者按:鉴于本文内容过长,方便阅读,将分为三篇博客来翻译。)类型和类型转换在JavaScript中有7个内置类型:null,undefined,boolean,number,string,object,和symbol(ES6)。除了object以外,其它都叫做基本类型。typeof0//numbertypeoftrue//booleantypeof'Hello'//stringtypeofMath//objec
JavaScript的面向对象
JavaScript的对象对象是JavaScript的一种数据类型。对象可以看成是属性的无序集合,每个属性都是一个键值对,属性名是字符串,因此可以把对象看成是从字符串到值的映射。这种数据结构在其他语言中称之为“散列(hash)”、“字典(dictionary)”、“关联数组(associativearray)”等。原型式继承:对象不仅仅是字符串到值的映射,除了可以保持自有的属性,JavaScript对象还可以从一个称之为原型的对象继承属性,对象的方法通常是继承的属性,这是JavaScript的核心特征。JavaScript对象是动态的—可以新增属性也可以删除属性,但是他们常用来模拟静态以及静态类型语言中的“结构体”创建对象1、对象直接量创建对象最简单的方式就是在JavaScript代码中使用对象直接量。varbook={"maintitle":'guide',//属性名字里有空格,必须加引号"sub-title":'JS',//属性名字里有连字符,必须加引号for:'development',//for