自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

珍妮的小罐君

ᵀᴴᴱ ᴮᴱˢᵀ ᴵˢ ᶠᴼᴿ ᵞᴼᵁ

  • 博客(84)
  • 收藏
  • 关注

原创 页面如何添加水印?

最近做vue项目的时候,需要要求要在页面中添加水印的效果,网上找了一些方法,具体操作如下:(1)页面中添加一个文件比如 waterMark.ts, 代码如下:const watermark: any = {};const setWatermark = (str: any) => { const id = '1.23452384164.123412415'; ...

2020-04-11 11:22:13 1076

原创 vue 项目如何实现动态加载路由?

一、思路① 在vue-router对象中首先初始化公共路由,比如(首页,404,login)等② 用户登陆成功后,根据用户的角色信息,获取对应权限菜单信息menuList,并将后台返回的menuList转换成我们需要的router数据结构③ 通过**router.addRouter(routes)**方法,同时我们可以将转后的路由信息保存于vuex,这样我们可以在我们的SideBar组...

2020-03-25 17:53:38 9356 7

原创 Git 相关操作

图中的几个专用名词解释: Workspace: 工作区 Index / Stage: 暂存区 Repository: 本地仓库 Remote: 远程仓库 Git 问题集锦情况一:最近一次 commit 的代码有问题怎么办?git add 我是修改内容.txtgit commit --amend【amend】修正,会对最新一条 co...

2020-03-24 16:02:12 312

原创 分享一些Vue中实用的小技巧

Vue项目开发中一些常用实用的小技巧:require.context()一个webpack的api,主要用来实现自动化导入模块,在前端工程中,如果遇到从一个文件夹引入很多模块的情况,可以使用这个api,它会遍历文件夹中的指定文件,然后自动导入,使得不需要每次显式的调用import导入模块。语法:/** * directory {String} -说明需要检索的目录 * useS...

2020-02-27 16:30:22 481

原创 Vue组件间通信方式

组件可以封装一些重用的代码,通过传入不同的数据,实现组件的复用。组件之间传递数据基本上可以分为三种:父子组件、兄弟组件、隔代组件(跨组件),针对不同场景,我们可以选择不同的方式,具体如下:父子组件通信:(1)props/$emit父组件通过自定义属性传递数据,子组件通过props来接收;子组件通过emit传递一个自定义事件,父组件通过自定义事件来操作相应的逻辑:父组件:&...

2019-11-27 14:10:26 250

原创 vue-cli 3.0 引入mint-ui报错

场景:官网:http://mint-ui.github.io/docs/#/zh-cn2/quickstart npm i mint-ui -S main.ts 文件中引入并使用 import MintUI from 'mint-ui'import 'mint-ui/lib/style.css'Vue.use(MintUI) 然后报错提示:Could not find ...

2019-09-06 14:17:24 1866

原创 区别 URL.createObjectURL() 和 FileReader.readAsDataURL()

业务场景:图片上传和预览功能~具体实现:URL.createObjectURL() URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。 简单说经过这个方法的处理后会生成一个...

2019-09-04 19:46:38 4505

原创 angular 配置i18n

1.安装 .npm install @ngx-translate/core --savenpm install @ngx-translate/http-loader 2. 配置(app.module.ts)import { BrowserModule } from '@angular/platform-browser';import { Inject, LOCALE_ID, N...

2019-08-23 18:05:11 2015 1

原创 Angular 报错解决

Can't bind to 'formGroup' since it isn't a known property of 'form' 错误描述 当form表单加FormGroup属性时报错Can't bind to 'formGroup' since it isn't a known property of 'form' <form [formGroup]="loginForm"&...

2019-08-23 17:08:11 633

原创 angular之关于Ionic的使用

官网:https://ionicframework.com/docs/intro安装:npm install @ionic/angular@latest --save使用:(1)在app.module.ts文件中引入 import { IonicModule } from "@ionic/angular";(2)添加到 AppModule 的 imports 数组中 ...

2019-08-22 17:49:29 2095

原创 vue + ionic 搭建移动端项目

vue创建项目:找一个空文件夹,使用如下命令构建vue 项目: vue create app-web备注:app-web为项目的名字 构建成功后,运行:npm run serve ,在浏览器中输入:locahost:8080 即可看到效果 使用如下命令,安装ionic: npm install @ionic/vue @ionic/core --save...

2019-06-28 17:09:23 6460 1

原创 vue filter过滤器

vue项目中,如果需要对某个字段进行处理,一般我们会写一个filter,如下,我们新建一个filters.js的文件,然后声明了两个filter,如下所示:const viCurrency = (val: any) => { if (!val) { return null; } let money = Math.ceil(+val); ...

2019-06-20 16:41:37 452

原创 egg.js 如何使用?

前言egg官网:https://eggjs.org/zh-cn/intro/quickstart.htmlegg是基于Koa 框架基础上实现的一个node框架所有的NodeJS 框架最基本的核心就是通过原生库http or https启动一个后端服务http.createServer(this.serverCallBack()).listen(...arg), 然后所有的请求都会进入s...

2019-06-06 16:58:59 1318

原创 Vue 组件间通信方式

前言组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。一般来说,组件可以有以下几种关系:如上图所示,A 和 B、B 和 C、B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代)。针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题。本文总结了vue组件间通信的几种方式,如p...

2019-05-31 16:15:18 270

原创 'PROXY_ENV' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

今天启项目的时候碰到一个很奇葩问题: 在mac上能执行的npm命令,到windows上执行就不行了,报错如下:报错翻译就是:'PROXY_ENV' 不是内部或外部命令,也不是可运行的程序或批处理文件'。以下是package.json的配置:当在windows环境下执行npm run debug:pre时,就会报错,在mac下执行就正常运行~原因如下:原来是...

2019-05-09 20:47:59 1413

原创 angular项目如何配置国际化(i18n)?

1、下载ngx-translate的依赖库//利用npm来安装ngx-translate依赖npm install @ngx-translate/core --savenpm install @ngx-translate/http-loader --save2、在项目根模块app.module.ts中引入引入TranslateModule模块import { Browse...

2019-03-12 19:31:15 5783 1

原创 Rxjs常用操作符

Observable可观察序列中,我们可以使用操作符来对流进行处理,以实现我们想要的结果。详细的操作符以及具体使用可参考文档:https://rxjs-cn.github.io/learn-rxjs-operators/operators/utility/do.html常见的操作符如下:合并相关操作符:【1】concat N个请求按顺序串行发出(前一个结束再发下一个)Observ...

2019-03-08 10:34:40 842

原创 了解RXJS

RxjsRxjs简单说是一种针对异步数据流的编程,它将任何数据,包括http请求,DOM事件等都包装成流的形式,然后用一些操作符对流进行处理,这样就能用同步编程的方式去处理异步数据,并实现你所需要的功能;Rxjs核心概念Observable 可观察系列 Observer 观察者 Operator操作符Observable 简单说数据就在Observable中流动,你可以用各种...

2019-03-07 17:20:41 340

原创 :host 和::ng-deep

:host 表示选择当前的组件。::ng-deep 可以忽略中间className的嵌套层级关系。直接找到你要修改的className。使用::host { background: #F5F5F5; overflow: hidden; padding: 24px; display: block;}.card-container ::ng...

2019-03-05 17:51:38 12308 1

原创 Sass相关用法

Sass是一款CSS预处理器,它在 CSS 语法的基础上拓展了一些功能,如:增加了变量 、嵌套、混合 、导入 等功能,有助于更好地组织管理样式文件,以及更高效地开发项目。Sass 有两种语法格式:1. scss 这种格式仅在 CSS3 语法的基础上进行拓展,所有 CSS3 语法在 SCSS 中都是通用的,也支持大多数 CSS hacks 写法以及浏览器前缀写法,以及早期的 IE 滤镜写法...

2019-03-04 19:43:32 446

原创 使用 FormBuilder 来生成表单控件

FormBuilder 服务提供了一些便捷方法来生成表单控件。FormBuilder在幕后也使用同样的方式来创建和返回这些实例,只是用起来更简单。 下面会重构 ProfileEditor 组件,用FormBuilder 来代替手工创建这些 FormControl 和 FormGroup。 Step 1 - 导入 FormBuilder 类import { FormBuilder ...

2019-02-22 18:29:22 10495

原创 typescript相关

ts基本数据类型:一、布尔类型(Boolean)var isDone: boolean = true ;二、数字类型(Number)  23var num: number = 9;三、字符串类型(Sring)var str: string = 'hello world'四、数组类型(Sring)两种方式【1】var arr: number[] = [22,3,45,2]...

2019-01-18 11:05:20 135

原创 使用angular-cli搭建angular开发环境

angular项目环境配置:步骤 1. 配置开发环境(node环境必须) 请先在终端/控制台窗口中运行命令 node -v 和 npm -v; 如果出现版本号则ok,并且确保验证一下版本号: node 8.x 和 npm 5.x 以上的版本。 更老的版本可能会出现错误,更新的版本则没问题。 如果没有出现版本号,则到node.js官网上自动下载,node环境是集成了npm环境,npm是node...

2018-11-07 18:10:11 702

原创 vue-router 配置路由

router:路由其实就是指根据不同URL跳转到对应的页面。Vue-router通过管理URL,实现URL和组件的对应,以及通过URL进行组件之间的切换。如何使用?1.安装cnpm install vue-router2.配置路由(1)在src目录新建一个router文件夹,并新建一个index.js文件(2)编辑index.js文件import Vue from 'vue...

2018-09-18 19:07:03 239

原创 vue-router传参

vue-router传参两种方式:params和queryparams、query是什么?    params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params    query:/router1?id=123 ,/router1?id=456 ,这里的id叫做query。方法1:    query 方式传参和接收参数 ...

2018-09-10 10:47:31 195

原创 Vuex如何使用

1:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,简单说Vuex可以帮助我们管理一些共享状态。2:为什么?(1)多个组件依赖同一个状态。(2)不同组件需要操作同一个状态因此,把组件的共享状态抽取出来,任何组件都能获取状态或者触发行为3:Vuex 应用的核心是 store(仓库),包含着应用中大部分的状态 (state)。Vue...

2018-09-07 10:53:05 195

原创 修改mint-ui默认样式

Mint UI 是基于 Vue.js 的移动端组件库,有时候我们需要修改它的默认样式,方法如下:1. 安装sass的依赖包(前提:已安装node环境)由于sass-loader依赖于node-sass,所以先安装node-sass: cnpm install --save-dev node-sass ​​​​​​​安装sass-loader:  cnpm install -...

2018-09-06 10:06:58 4093

原创 Webpack与Gulp、Grunt区别

前言Webpack与Gulp、Grunt没有什么可比性,它可以看作模块打包机,通过分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案,不过Webpack的优点使得Webpack在很多场...

2018-08-30 20:39:52 6649

原创 let 和 const 以及var 区别

ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。ES6中增加了块级作用域的概念,let 命令1. let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a =10; var b= 8;}console.log(a);//ReferenceError: a is not de...

2018-08-23 19:40:16 6387

原创 qrcode.js 生成二维码

什么是qrcode.js?qrcode.js是一个用于生成二维码的js库,主要是通过DOM元素,再通过H5中的canvas绘制而成,它不依赖任何库。下载地址:http://code.ciaoca.com/javascript/qrcode/^-^先看实例^-^&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt;...

2018-07-25 15:16:55 4999

原创 gulp安装以及live-server使用

Gulp 是一个自动化工具 - 通常称构建工具Gulp插件大全:http://www.cnblogs.com/-ding/p/5972162.html 附件含有gulpfile.jslive-server 可以帮助我们前端人员搭建临时的http服务器。它不需要安装任何插件,使用起来比较便捷。它可以自动打开项目;修改本地文件后,浏览器能够立即同步,自动加载,自动刷新。安装流程:注...

2018-07-23 11:22:51 2751

转载 gulp怎么用?

 本文转自:https://blog.csdn.net/xllily_11/article/details/51393569gulp常用地址:gulp官方网址:http://gulpjs.comgulp插件地址:http://gulpjs.com/pluginsgulp 官方API:https://github.com/gulpjs/gulp/blob/master/docs/A...

2018-07-20 17:32:37 667

原创 为什么使用gulp?

关于JavaScript和CSS更改后需要手动清除缓存的问题        我们做网站开发的时候,避免不了Javascript和CSS文件, JavaScript和CSS属于静态文件,如果项目地址不变,浏览器会缓存这些文件,那就意味着当我们修改JS或者CSS文件的时候,发现需要清除一下缓存(ctrl+shift+delete),才能看到真实的效果。关于JavaScript和CSS多个文件执...

2018-07-20 16:33:02 3472

原创 git相关

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。版本控制系统:        简单说就是能够记录每个文件的改动,并且能够合并多个文件。集中式 VS 分布式        集中式版本控制系统(svn , cvs):版本库是集中放在中央服务器的,工作的时候需要先从中央服务器取得最新的版本,然后在开始工作,完了再推送给服务器。最大缺点是需要联网。        分布式版本控制...

2018-06-25 18:19:06 124

原创 Git安装说明

一.安装GIT步骤:1.双击2.点击Next,进入第三步3.默认勾选4.默认勾选 5.默认勾选 6.完成 二.生成key1.设置Git的user name和email:$ git config --global user.name "zhouyuxiang"$ git config --global user.email "[email protected]"2.查看是否已经有了ssh...

2018-06-21 20:33:47 358

原创 http 和 websocket

前端时间在做项目的时候遇到这样的一个场景:网页中有一个数据表格,这个数据表格数据表格的内容是从后台读取出来的,但是这些内容会随着时间的变化而变化,有点类似于股票行情。当时我的做法是用setInterval('toPage(1)',1000)来定时执行函数,toPage()方法是通过ajax请求访问服务器,并在成功后拿到后台返回的数据然后去更新页面。但是这种定时的方法有很多不足:(1)频繁的网络请求...

2018-04-24 16:28:06 313

原创 hash和hashchange事件

window.location.href和window.locaiton.hash(1)window.location.href  得到的是完整的URL        比如:window.location.href = ' www.baidu.com'(2)window.location.hash  得到的是锚链接        比如:window.location.hash= ' #all'(3...

2018-04-17 17:31:02 6122 1

原创 如何用vue创建项目?

如果你要使用vue-cli,你需要按如下步骤去操作:(1):第一步:    安装:安装前,你一定要注意,需要安装3个环境:            Node.js(版本必须&gt;=6.x,最好是8.x);            npm环境(版本必须&gt;=3);如果你安装了node6.0,那么它的npm版本就是3.0;如果node版本是8.0,那么npm的版本就是5.0;(node环境集成了np...

2018-03-23 18:31:12 2433

原创 CSS实现表格表头(thead)固定,内容(tbody)滚动

前言 最近在写一个项目,然后要实现表头固定,tbody内容滚动的效果,该项目中没有使用任何插件,并且表格列数蛮多的,刚开始实现起来遇到各种问题,感觉蛮复杂的,后来找到了一种利用transform的方法实现,效果还不错,请看代码~~~~~~————代码————&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="...

2018-03-20 10:50:10 26892 18

原创 input:-webkit-autofill

chrome表单input获取焦点时,input会有一个记录之前填写过的文本的下拉列表式的东东,当你选择其中一个时,input文本框的背景会变成黄色的(如下图),这是由于chrome会默认给input加上input:-webkit-autofill私有属性,然后对其赋予以下样式:input:-webkit-autofill, textarea:-webkit-autofill, s

2017-09-14 15:48:15 11264 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除