- 博客(48)
- 收藏
- 关注
转载 javascript数组/对象数组的深浅拷贝问题
一、问题描述 在项目里的一个报名页面需要勾选两条信息(信息一和信息二),由于信息一和信息二所拥有的数据是一致的,所以后台只返回了一个对象数组,然后在前台设置了两个List数组来接收并加以区分。原型如下图; 测试出现的问题是:任意勾选信息一或信息二中的选项,对应另一个信息中的选项也会被勾选。比如我勾选了信息一的姓名和手机,那么信息二中的姓名和手机也会被勾选...
2019-09-25 23:04:00
249
转载 Vue packages version mismatch
一、问题在我安装了最新的cli后,尝试创建项目时,就报错了,vue和vue-template-compiler的版本不统一。//安装@vue/cli npm i -g @vue/cli//创建 vue create demo1查了相关解决办法,说是将两个版本配置成一样的。//于是就先将vue升级,npm install vue@...
2019-09-23 17:32:00
301
转载 关于Echarts的使用和遇到的问题
对于插件工具,感觉按着官方的教程,便可以使用,但是看这个Echarts有点晕乎乎的,还是不能快速的学习啊。一、在webpack中使用ECharts//通过 npm 获取 echartsnpm install echarts --save在项目里需要用到的界面中,按需引入需要的模块,不做全局引入;如果完整引入Echarts,会有很多冗余的文件,体积会比较大,造成资源加载...
2019-08-27 16:29:00
2420
转载 vue中修改子组件样式
一、问题叙述 项目里需要新添加一个表单页面,里面就只是几个select,这个几个select是原本封装好的组件,有自己原本的样式,而这次的原型图却没有和之前的样式统一起来,需要微调一下,这里就涉及到父组件修改子组件的样式。不想混用本地和全局样式,所以选择了>>>,但是并不起作用,就换成/deep/,其实到这里我也没有继续深入这个知识点,因为在浏览器里预览后已经实现...
2019-07-12 16:10:00
1469
转载 Bootstrap多层模态框modal嵌套问题
一、问题在项目里忽然新加了一个需求,在原本弹出的模态框里,点击模态框里面的按钮再弹出一个模态框,出来另个模态框来展示详细信息。此时就存在两个模态框在这个需求没加之前有一个弹出的模态框也是需要继续点击(大致示意图如下),那个是时候去查过bootstrap的这个modal,官网上写着:不支持同时打开多个模态框千万不要在一个模态框上重叠另一个模态框。要想同时支持多个模态框,需要...
2019-06-19 15:27:00
837
转载 js上传Excel文件
一、问题需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用。了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都不能把fileinput插件给加到java的项目里,然后就只能自己用js实现吧。好像也没什么特别的需求。1)原本的样式不好看,需要和项目一致2)只上传xls和xlxs的文件二、...
2019-06-18 11:36:00
664
转载 在typescript中import第三方类库clipboard报错
一、问题在实际开发项目中就遇到了这样的问题,需要在Vue+Typescript项目中添加复制文本的功能,就找了clipboard插件,先是新建了一个新的项目用来实验看看是否好用,都写好了以后发给别人让在项目里添加,结果采用常规的方法导入第一句话就提示错误。然后又用了vue-clipboard2插件导入 import VueClipboard form'vue-clipboard2'同...
2019-06-17 17:54:00
903
转载 webpack学习(一)安装和命令行、一次js/css的打包体验及不同版本错误
一、前言 找了一个视频教程开始学习webpack,跟着视频学习,在自己的实际操作中发现,出现了很多问题。基本上都是因为版本的原因而导致,自己看的视频是基于webpack 1.x版,而自己现在早已是webpack 4.X了。觉得学习还是要以最新的来,也许以后并不会再接触到1.x的。不过了解不同版本更迭的问题,也是一个学习过程,更加了解这个东西。这个文章主要是针对一次js打包体验中出现...
2019-06-12 13:57:00
162
转载 querySelector和getElementById之间的区别
一、概述 今天在看js的时候发现里面的代码基本上都是用querySelector()和querySelectorAll()来获取元素,就有点疑惑为什么不用getElementById(),可能也是因为自己没用过那两个,所以并不清楚原因所在。 参考手册上写querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素,并且其语法document.querySe...
2019-05-23 18:22:00
368
转载 关于js延迟加载(异步操作)的方式
一、概述 最近重新开始学习js,在第一章的一个小节里写到了“脚本调用策略”,书上写的这部分不多,但是发现在我之前的(笔)面试中,问到的频率还是比较高的。自己一直习惯于直接把所有js文件写在head里,后来了解到优化后,会把js放在最底部,但并不太懂这样做的好处,而且其他的一些处理方式,自己也并未有过实际的操作。 在面试中对这部分的考察,主要考察的是程序的性能方面。程序的性能...
2019-05-22 11:51:00
192
转载 addEventListener与attachEvent
一、attachEvent和addEventListener(一)addEventListener addEventListener() 方法用于向指定元素添加事件句柄。使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。 语法:element.addEventListener(event, function...
2019-05-22 11:49:00
822
转载 创建一个vue-cli项
一、vue cli脚手架Vue 提供了一个官方的cli,为单页面应用 (SPA) 快速搭建繁杂的脚手架,通过这个工具我们就可以很方便的来创建一个基于vue的项目。二、安装一些必要的东西node、npm、webpack、vue-cli在用 Vue 构建大型应用时推荐使用 NPM 安装,基于node.JS,NPM 能很好地和诸如webpack或browserify模块打包器配...
2019-04-19 13:36:00
98
转载 vue插槽slot的理解与使用
一、个人理解及插槽的使用场景刚开始看教程我的疑惑是为什么要用插槽,它的使用场景是什么,很多解释都是“父组件向子组件传递dom时会用到插槽”,这并不能很好的解决我的疑惑。既然你用了子组件,你为什么要给它传一些dom,直接去定义复用的子组件不就好了。后来想想觉得一个复用的组件在不同的地方只有些许变化,如果去重写子组件是很不明智的一件事,当然也可以将不同之处都写在子组件里,然后通过父组件传...
2019-04-02 18:12:00
967
转载 (转载)手机端rem布局详解
从网易与淘宝的font-size思考前端设计稿与工作流本文结合自己对网易与淘宝移动端首页html元素上的font-size这个属性的思考与学习,讨论html5设计稿尺寸以及前端与设计之间协作流程的问题,内容较多,但对你的技术和工作一定有价值,欢迎阅读和点评:)。这是淘宝的github网址,里面有适配所需的js还有说明文档 地址:https://github.com/...
2019-03-25 10:25:00
115
转载 ES6 的Object.assign(target, source_1, ···)方法与对象的扩展运算符
一、基本概念Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target)。它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象。Object.assign(target, source_1, ..., source_n)二、基本用法let target = {a: 1};let obje...
2019-03-25 09:35:00
353
转载 webstrom配置一键修复ESLint的报错
因为项目本身有用eslint,而我这边没用,我这边提交上去别人update后就会提示很多eslint的格式错误提示,所以就在该项目里使用了eslint。发现一般有两种安装方式,我使用的是webstrom自带的eslint。一、勾选enable使之生效 ESLint package 找到该项目中安装的eslint路径,使该项目能够执行标准的代码风格。 Automatic...
2019-03-21 10:15:00
904
转载 JavaScript Array map() 方法
一、定义map() 方法返回一个新数组,不会改变原始数组。同时新数组中的元素为原始数组元素调用函数处理后的值,并按照原始数组元素顺序依次处理元素。注意:map() 不会对空数组进行检测。二、语法array.map(function(currentValue,index,arr), thisValue)四、ES6书写let r = res.map(item =>...
2019-03-19 11:50:00
203
转载 ES6之Array.includes()函数
一、定义includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。二、语法arr.includes(searchElement)arr.includes(searchElement, fromIndex)//searchElement:必须。需要查找的元素值。//fromIndex:可选。表示判断的起始位置。从...
2019-03-18 11:40:00
597
转载 遇到的cannot find module 'xxx' 问题
昨天配置新项目的环境,明明都npm inatsll都安装了,再次运行的时候一直报错,缺少模块。我以为就一个没安装上,就手动npm install -g 'xxx' ;结果一个装好了,又继续蹦出cannot find module 'xxx'。我继续install,然而依旧继续蹦出来新的cannot find module 'xxx'。我这暴脾气。还有这样说的:出现cann...
2019-03-18 11:25:00
1019
转载 vue报错之Duplicate keys detected: '0'. This may cause an update error.
昨天运行vue项目的时候,出现了[Vue warn]: Duplicate keys detected: '0'. This may cause an update error(错误,检测到重复的key值:”0“,这可能会导致更新错误)错误原因:我们在使用v-for的时候,都要必须加上一个唯一的key值,但是这里写了两个for循环,尽管都加上了key值,然而又将key的值写成一样...
2019-03-18 11:12:00
222
转载 安装vue-devtools
vue-devtools是一款基于chrome游览器的插件,以前很少用到这个,昨天想要清晰的看看里面的内容,于是想要下载一个插件。但由于电脑没翻墙,所以就不能直接在chrome商店里下载。一、在github上找到vue-devtools的项目,将其clone到本地。git clone https://github.com/vuejs/vue-devtools.git二...
2019-03-18 10:52:00
110
转载 ‘cnpm' 不是内部或外部命令,也不是可运行的程序
昨天用npm 安装环境,实在太慢了,就想用cnpm,然后发现提示‘cnpm' 不是内部或外部命令,也不是可运行的程序。看了很多方法,选择了下面这个,运气好到爆棚,就直接可以用了。其他的方法暂未去了解。先保存一种吧。一、在进入创建的文件夹后,利用淘宝npm镜像安装相关依赖 npm install -g cnpm --registry=https://registry....
2019-03-18 10:14:00
1332
转载 (五)github删除仓库
一、一直学习怎么创建仓库,创建了太多仓库,一直不知道咋删除,有点懵,其实很简单,就是对英文不太习惯,要加深英文水平。找到setting,然后再下面找到danger Zone转载于:https://www.cnblogs.com/songForU/p/10550491.html...
2019-03-18 09:54:00
69
转载 使用icomoon把svg图片生成字体图标
今天看了使用icomoon来将svg转换成图标字体,本来是不会使用别人给的svg,也不清楚具体的好处是什么,查了svg以后,越来越懵,svg挺好的为什么要转成图标字体呢。一、SVG介绍SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics)。其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它本质上是文...
2019-03-15 17:34:00
331
转载 TortoiseSVN如何更换或重置登录用户
昨天手贱把svn重新卸载了,再安装后便与之前的项目断了,因为第一次使用这个,也不清楚再怎么登录,还有就是上次是使用别人的账号,也不知道怎么清除别人的账号。鼠标右键找到settings,点击打开找到saved Data,可以看到右边有很多数据可以选择清除,找到账户信息,选择clear,会弹出当前记录的账户信息,选择需要清除的账户即可。然后就是在需要提交的项目文件目录中右...
2019-03-15 09:54:00
666
转载 Vue1.x 迁移 Vue2.x(项目进行不断修改)
一、$dispatch 和 $broadcast 已经被弃用。请使用更多简明清晰的组件间通信和更好的状态管理方案,如:Vuex这些方法的最常见用途之一是父子组件的相互通信。在这些情况下,你可以使用 v-on监听子组件上 $emit 的变化。这可以允许你很方便的添加事件显性。this.$emit('child-tell-me-something',this.msg)...
2019-03-14 18:10:00
139
转载 安装 node-sass 的不成功
昨天安装项目依赖的包,差不多都装好了,然后就卡在了node-sass上,各种报错。报错一、gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.然后安装了python,依旧不行。又有了下面的报错。报错二、在此解决方案中一次生成一个...
2019-03-14 15:58:00
428
转载 input标签附带提示文字(bootstrap里面输入框的两侧同时添加额外元素)
一直不太喜欢用定位,今天写界面的时候,要在输入框右边添加默认的元素符号。第一次尝试,因为本身项目用的是bootstrap所以就想利用输入框的两侧同时添加额外元素。但是写了代码发现效果不同。第二次直接将input里的text-align:right;改成了从右边开始。这样导致的是,所有输入从右边开始,并不是我想要的。第三次使用定位解决问题, <div cla...
2019-03-14 15:14:00
1511
转载 更改bootstrap的默认样式
很久没用bootstrap,对与按自己的需求修改样式都忘了。一上来就添加了新的class类,重写css样式让其覆盖原有的样式,实际上不起作用。因为没考虑的选择器的优先级。面试的时候会问到一些这个问题,一直不能从理论和实践联系起来。我的解决方案是通过子选择器来增加权重,看别人也有用id的,我不太喜欢添加id的选择器。回忆一波选择器以及其优先级。一、css选择器 1...
2019-03-14 15:02:00
1777
转载 属性font-family:Font property font-family does not have generic default
以前定义字体都是用的常用的字体,也没注意过会有这个提示,昨天在写界面的时候重新定义了一个本地没有的字体,发现会有提示。W3C的文档:font-family:<family-name>,<generic-family> In the example above, the last value is a generic family name. ...
2019-03-14 13:42:00
386
转载 let与const命令
(需要注意的地方)1、ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。2、for循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。for (let i = 0; i < 3; i++) { let i = 'abc'; console.log(...
2019-03-12 15:14:00
107
转载 vue之监听事件
一、v-on可以用v-on指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。简写形式 用@代替 v-on:<button v-on:click="counter += 1">Add 1</button><button @click="counter += 1">Add 1</button>...
2019-03-12 13:55:00
552
转载 组件复用传值(待解决问题)
写了一个点击列表,在prop传入一个数组出现了问题。<template> <div id="box"> <ul> <li v-for="task in list" @click="add(task)" :class="{'complated':task.finished}"> ...
2019-03-12 10:40:00
330
转载 vue之组件注册
一、组件名 写组件之前你要明确你的目的,想要做一个什么样的组件,我们在注册一个组件的时候,需要给组件一个名字,对于命名,尽可能明确,使用kebab-case (短横线分隔命名) 或PascalCase (首字母大写命名)。 使用 kebab-case (短横线分隔命名) 定义一个组件时,我们在引用这个自定义元素时其格式 :Vue.component('my-com...
2019-03-12 10:00:00
128
转载 vue之组件理解(一)
组件是可复用的 Vue 实例,所以它们与new Vue接收相同的选项,例如data、computed、watch、methods以及生命周期钩子等。仅有的例外是像el这样根实例特有的选项。 其中,一个组件的data选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝。data: function () { return { ...
2019-03-12 09:27:00
279
转载 vue之列表渲染
一、v-for循环用于数组v-for指令根据一组数组的选项列表进行渲染。1、v-for指令需要使用item in items形式的特殊语法,items是源数据数组名, item是数组元素迭代的别名(为当前遍历的元素提供别名,可以任意起名)。<ul id="example"> <li v-for="item in items">...
2019-03-11 15:14:00
157
转载 webstorm(二):拼写warning
逼死强迫症之对拼写进行检查,警告typo:in word “msgfromfather”转载于:https://www.cnblogs.com/songForU/p/10497462.html
2019-03-11 11:19:00
339
转载 vue之条件渲染
一、v-ifv-if指令用于条件的渲染一块内容,当指令的表达式返回true时,内容才会被渲染。<h1 v-if="isshow">要显示么</h1> data () { return { isshow: true } }如果想切换多个元素,可以使用<template>元素当作不可见的包裹元素。...
2019-03-11 11:13:00
180
转载 webstorm(三):webstorm的一些waring提示
一、Attribute key is not allowed here二、Comparison this.loginType != 'username' may cause unexpected type coercion(可能会导致一些意外的类型强制)转载于:https://www.cnblogs.com/songForU/p/10509060.html...
2019-03-11 10:30:00
1824
转载 JavaScript ES6中,export与export default
自述:本来是对new Vue()和export default比较懵的,查了一下,发现我理解错了两者的关系,也没意识到export与export default的区别,先简单的记录一下基本概念,后续再继续了解。一、概述在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了...
2019-03-08 15:34:00
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人