数据库mysql-01
数据库基础一、数据库的基本知识
数据库:存储数据的仓库,数据是有组织的进行存储(DB)
数据库管理系统:操作和管理数据库的大型软件(DBMS)
SQL:操作关系型数据库的一门编程语言,定义了一套关系型数据库的统一标标准(SQL)
关系型数据库:建立在关系模型基础之上,由多张相互连接的二维表组成的数据库。
使用表存储数据,格式统一便于维护
使用SQL语言操作,标准统一,使用方便
mysql数据库的数据模型
二、SQL
SQL通用语法
SQL语句可以单行或多行书写,以分号结尾
SQL语句可以使用空格/缩进来增强语句的可读性
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
注释:
单行注释: -- 注释内容 或者 #注释内容(MySQL特有)
多行注释: /*注释内容*/
SQL分类
分类
全称
说明
DDL
Date Definition Language
数据定义语句,用来定义数据库对象(数据库,表,字段)
DML
Date Manipulation Language
数据操作语句,用来对数据库表中的数据进行增删改
DQL
Date ...
npm包管理工具学习
NPM 包管理工具一、认识npm
npm(全称为:Node Package Manager,即node包管理器)
是Node.js默认的、以JavaScript编写的软件包管理系统。使用npm来分享和使用代码已经成为一种主流
官网:https://www.npmjs.com
二、npm镜像的设置与查看
搭建环境时通过如下代码将npm设置成淘宝镜像
12npm config set registry https://registry.npm.taobao.org --globalnpm config set disturl https://npm.taobao.org/dist --global
设置当前地址,设置为默认地址
1npm config set registry https://registry.npmjs.org/
查看镜像的配置结果
12npm config get registrynpm config get disturl
使用nrm工具切换淘宝源
1npx nrm use taobao
如果之后要切换回官方源可以使用
1npx nrm use npm
三、使用n ...
Vue路由相关
Vue-Route路由学习Vue-R outer
vue-router的理解:是vue的一个插件库,专门用来实现SPA应用。
对于SPA应用的理解
单页Web应用(single page web application,SPA)
整个应用只有一个完整的页面
点击页面中的导航链接不会刷新界面,只会做页面的局部更新
数据需要通过ajax获取
路由的理解
什么是路由:
一个路由就是一组映射关系:(key-value)
key为路径,value可能是function或component
路由分类:
后端路由:
理解:value是function,用于处理客户端提交的请求
工作过程:服务器收到一个请求时,根据请求路径找到匹配的函数来处理请求,返回响应数据
前端路由:
理解:value是component,用于展示页面内容
工作过程:当浏览器的路径改变时,对应的组件就会显示
基本使用
安装vue-router(vue2指定第三版本,vue3安装最新版本,第四版本)1npm install vue-router@3 //vue2指定安装第三版本
在main.js中引入并 ...
Vuex基础学习
VueX学习笔记01一、理解VueX
vuex:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式管理(读/写),也是一种组件之间通信的方式。且适用于任意组件间通信。
github地址:https://vuex.vuejs.org/zh/
什么时候使用VueX
多个组件依赖于同一个状态
来自不同组件的行为需要变更同一状态
vuex的结构内容
二、VueX的使用
搭建vuex环境
安装vuex, vue2需要安装 3版本的vuex 而vue3需要安装 4版本的vuex。默认安装最新版本1npm install vuex@3
创建文件 src/store/index.js123456789101112131415161718192021//该文件用于创建vuex中最核心的storeimport Vue from 'vue'import Vuex from 'vuex'//应用·vuex插件Vue.use(Vuex) //准备acitionsconst actions = {}//准备mutations——用于操作数据con ...
Vue基础学习04
Vue2学习笔记03——Vue组件化编程一、组件的自定义事件——绑定
一种组件间的通信方式,适用于:子组件 ==> 父组件
使用场景:A是父组件,B是子组件,B想给A传数据,那么就需要在A中给B绑定自定义事件(事件的回调在A中)
绑定自定义事件:
第一种方式:在父组件中:<Demo @shijian="text"/> 或者 <Demo v-on:shijian="test"/>
第二种方式:在父组件中:``HTML
...
mounted(){
this.$ref.xxx.$on('demo',this.test)
}
1234567 - 若想让自定义事件只能触发一次,可以使用`once`修饰符或`$once()`方法4. 触发自定义事件:`this.emit('shijian',数据)`5. 解绑自定义事件 - `$off()`可以解绑一个,多个,全部自定义事件 - 解绑一个自定义事件 ```javascript 节点元素.$off('自定义事件名称')
- ...
Vue基础学习03
Vue2学习笔记03——Vue组件化编程一、模板与组件,模板化与组件化
组件的基本使用:
Vue中使用组件的三大步骤
定义组件(创建组件)
注册组件
使用组件(写组件标签)
如何定义一个组件 -使用Vue.extend(options)创建
如何注册组件
局部注册:靠new Vue的时候传入components选项
全局注册:靠Vue.conponent(‘组件名’,组件)注册
在页面中使用自定义组件标签 <组件名></组件名>
组件
关于组件名:
由一个单词组成:第一种写法(首字母大写);第二种写法(首字母小写)
由多个单词组成:第一种写法(Kabad-case命名);第二种写法(CamelCase命名)
注:组件命名注意点:
组件命名尽可能回避HTML中已有的元素名称,如h2,H2都不可以
可以使用name:""配置项指定组件在开发者工具中呈现的名字。
关于组件标签
第一种写法:<school></school>
第二种写法:<school/>
备注:不使用脚手架时,使用<school/&g ...
Vue基础学习02
Vue2学习笔记01——Vue的使用一、class与style绑定
绑定class样式: :class="XXX" , xxx为data中的样式变量名称(v-bind),适用于样式的类名不确定,需要动态指定。
绑定class样式—— 字符串写法, 适用于:样式类名不确定,需要动态指定
绑定class样式—— 数组写法, 适用于:要绑定的样式个数不确定,名字也不确定
绑定class样式—— 对象写法, 适用于:要绑定的样式个数确定,名字也确定,但需要动态决定用不用的场景。123456789101112131415161718192021222324252627 <div id="app"> <!-- 字符串样式 --> <div class="one" :class="style1"></div> <br/><br/> <!-- 数组样式 --> <div class="two" :class="style2">文字</div ...
Vue基础学习01
Vue2学习笔记01——Vue简介, Vue的使用01Vue2学习笔记01——Vue简介, Vue的使用01一、Vue简介
Vue是一套用于构建用户界面的渐进式JavaScript框架
Vue的特点:
采用组件化开发,提高代码复用率,并且让代码更好维护
声明式编码,让编码人员无需直接操作DOM,提高开发效率
使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点
二、Vue的使用
Vue的基本使用,使用CDN的方式引入
想要Vue工作,就必须创建一个Vue实例,并且要传入一个配置对象
root容器里面的代码依然符合html规范,只不过是混入了一些特殊的Vue语法
root容器里面的代码被称为Vue模板
引入Vue文件,分为开发版本和生产版本 1<script type="text/javascript" src="../JS/vue.js"></script>
使用vue1234567891011121314<div id="root"> <h1>Hello,{{name}}</h1> </div> < ...
ES6新特性学习02
ES6新特性学习02一、ES6新特性
ES6-Peomise基本使用
Promise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并获取其成功或失败的结果。
Promise 构造函数:Promise(excutor){}
Promise.prototype.then方法
Promise.prototype.catch方法
使用Promise的一般步骤123456789101112131415 //实例化Promise对象const p=new Promise(function(resolve,reject){ setTimeout(function(){ // let data="数据库中的数据"; // resolve(data); //成功时调用resolve() let err="数据读取失败"; reject(err); },1000);});//调用Promise中的then方法p.then(function(value){ console.log(value)},functio ...
ES6新特性学习001
ES6新特性学习01一、关于ES(x)
ES全称为ECMAScript,是脚本语言的规范,而平时编写的javascript是ECMAScript的一种实现。所以ES新特性其实就是指的JavaScript新特性。
在2015年发布ES6,每年更新一版。
ES6的重要意义:
ES6的版本变动内容最多,具有里程碑意义。
ES6中加入了许多新的语法特征,编程实现更加简单高效
ES6是前端发展的趋势,就业必备技能
二、ES6新特性
let声明变量以及声明特性
声明格式1234let a;let b,c,d;let f=100;let g=[],h="1234",s={};
let声明变量的特性
变量不能重复声明(var声明可以重复)
块级作用域,只能在块内有效(比如 if else for while等)
不存在变量提升,不允许在变量声明之前使用变量123console.log(username);var username="fanda"; //输出undefined//如果使用let声明则会报错,不允许在变量声明之前使用变量
不影响作用域链效果1234567{ let age ...