生命周期&数据共享
组件的生命周期生命周期&生命周期函数 生命周期:指一个组件从创建 -> 运行 ->...
安装和配置Vant组件库
安装和配置Vant组件库vant官网:vant2 执行:npm i vant@latest-v2 安装组件库 在开发阶段,直接导入所有组件,不用考虑体积问题(怎么快怎么来) import Vue from 'vue'import Vant from 'vant' //导入所有组件import 'vant/lib/index.css' //导入所有组件对应的样式Vue.use(Vant); 在发布阶段,再进行项目体积的优化。 注 某个属性的值如果是true,可以简写 <van-nav-bar title="黑马头条" :fixed="true" />//以上代码可以简写成:<van-nav-bar title="黑马头条" fixed...
数组中的方法
forEach循环 一旦开始,无法在中间被停止 效率低 const arr = ['工藤新一','服部平次','怪盗基德'];arr.forEach((item,index)=>{ //循环3次,return也不会起效果 if(item=='工藤新一') { console.log(index); }}) some循环 从数组里找元素,用some循环比较合适 找到对应的项后,通过return true来终止some循环 const arr = ['工藤新一','服部平次','怪盗基德'];arr.some((item,index)=>{ //循环2次 if(item=='工藤新一'){ console.log(index); return true; //固定写法 ...
vue2-vue基础入门(二)
侦听器什么是watch侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。 数据值发生变化,就会自动触发侦听器。 所有侦听器都被定义到watch节点下。 侦听器本质是个函数,要监视哪个数据的变化,就把数据名作为方法名即可。 侦听器的参数是新值在前,旧值在后。 典型应用场景:判断用户名是否被占用。 侦听器的格式方法格式的侦听器(先考虑) 缺点1:无法在刚进入页面的时候立即触发。 缺点2:如果真听的是一个对象,如果对象中的属性发生了变化,不会触发侦听器。 如果要侦听的是对象子属性的变化,可以使用该方法,但是注意:必须包裹一层单引号。 对象格式的侦听器 好处1:可以通过immediate选项,让侦听器自动触发。 immediate作用:控制侦听器是否自动触发一次。 默认值是false,true表示一进入页面就会触发一次侦听器。 好处2:可以通过deep选项,让侦听器深度侦听对象中每个属性的变化。 deep作用:只要对象中任何一个属性变化了,都会触发“对象的侦听器”。 默认值是false。 //方法格式的侦听器const vm = new...
vue2-vue基础入门(一)
vue简介vue1.构建用户界面...
ECMAScript6新特性
let变量声明以及声明特性let a;let a,b,c;let a=100; 特性: let变量不能重复声明,但是var却可以。 块级作用域:变量只在代码块里有效,在代码块外无效。[全局、函数、eval] 不存在变量提升。(如果有变量提升,可以在变量未声明之前去使用这个变量) 不影响作用域链。 { let name = "xiaolin0333"; function fn() { console.log(name);//会向上一级作用域里去找name变量 } fn();} const声明常量及其特点const NAME = "xiaolin0333"; 特性: 一定要赋初始值。 一般常量使用大写(潜规则) 常量值不能修改。 块级作用域 对于数组和对象的元素修改,不算对常量的修改,不会报错 const DATA =...
【项目】黑马头条 - 普通用户端
目录结构 全局异常 登录手动加密(md5 + 随机字符串)【问题】md5是不可逆加密,md5相同的密码每次加密都一样,不安全。【解决】在md5的基础上手动加盐(salt)处理校验过程: 接口测试1. ApiFox中测试2. swagger 引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId></dependency> 在common模块下添加swagger配置类: @Configuration@EnableSwagger2public class...
MinIO
简介 Golang语言实现 兼容亚马逊S3云存储服务接口,适合存储大量非结构化数据 官方文档:MinIO Docker安装MinIO 创建并运行容器 docker run -d \--name minio \-p 9000:9000 \--restart=always \-e "MINIO_ACCESS_KEY=minio" \-e "MINIO_SECRET_KEY=minio123" \-v /home/data:/data \-v /home/config:/root/.minio \minio/minio server /data 用户名:minio 密码:minio123 在浏览器输入http://192.168.140.102:9000/后即可看到minio控制台 操作MinIO 引入minio依赖 <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> ...
Freemarker模板引擎技术
【问题】当渲染文章数据时,由于文章的数据很多,直接去查询文章内容表的话,效率比较低。【解决】使用freemarker将文章的内容通过模板技术生成静态的html文件存储到minio中,这样用户就只需要拿着minio的url去minio里获取静态页面即可。效率大大提高 模板引擎Freemarker是一种模板引擎:一种基于模板和要改变的数据,并用来生成输出文本(html网页、电子邮件、配置文件、源代码…)的通用工具。不是面向最终用户的,而是一个Java类库。 步骤 导入依赖 <dependencies> <!-- freemarker --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> ...