概览
前置知识
准备工作
安装环境准备
#安装node.js
#安装npm
#安装vue cli
基于脚手架创建前端工程
方式一
#创建一个保存vue项目的目录,如vue_project
#在vue_project下进入cmd
vue create vue-demo-1
方式二
#在cmd下输入
vue ui
选择vue2
#成功之后的界面
#打开浏览器,选择界面的左上角vue-project
#跟着上面做的,应该是vue-demo-1
#点击红色选中的Vue项目管理器
#第一个红色框选中的是存放vue项目的总合集
#选择你自己创建的项目合集即可
#点击第二个红色框“在此创建项目”
#项目文件夹,如vue-demo-2
#包管理器 npm
#GIt 勾选上
#点击下一步
#选中Vue2
#创建项目
#可查看项目依赖和配置
项目结构解析
启动前端项目
#在当前项目路径下npm run serve
#命令行和VsCode的终端都行
#npm run serve的"serve"取决于package.json的scripts下的配置
#如下面红色框所示
更改前端端口
#在vue.config.js里添加
devServer: {port: 7070
}
#更改后重启,因为.js文件需要重新加载
vue基本使用方式
vue组件
文本插值
data属性
{{}}
属性绑定
data属性
v-bind:xxx or :xxx
事件绑定
methods方法
v-on:xxx or @xxx
双向绑定
data和methonds一同使用,一般用在表单,如登录界面
v-model(用在data)
其他的调用methods
条件渲染
一般在标签里,如div
v-if v-else-if v-else
axios
#axios一般用于异步调用
安装
#在终端里安装axios
npm install axios
#安装完成后可以区到package.json里的dependencies里查看axios项
api列表
配置代理
#不配置代理的话,访问后端路径会出现跨域问题
#在vue.config.js中配置代理
proxy里,'/api/'替换成target部分,'^/api/'代表之前的都是空
Post、Get
#Post
#then(res => xxx)表示调用成功后执行...
#.catch(error => xxx)表示出错后执行...#Get
#一般会携带jwt的token
统一使用方式
小结
Vue-Router
vue-router介绍
创建vue-router-demo项目
#跟前面创建的差不多,这里做贴图演示
路由介绍
路由表编写位置
路由表页面入口位置
路由跳转方式
#标签式:红色
#编程式:蓝色
404 not found时如何处理
#vue对404没有处理,需要自己手动处理
#在views下编写一个404View.vue<div class="about"><h1>请求路径不存在</h1></div>
</template>
#然后在路由表编写位置加上即可
路由介绍和配置小结
嵌套路由(子路由)
介绍和实现步骤
第一步
安装element组件
element官网链接: link
#复制安装代码到终端运行
npm i element-ui -S
#找到"快速上手"
#需要在main.js中导入右边标红的三项
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
创建container布局
#在views下创建container布局
#再创建ContainerView.vue
#在element官网找"Container布局容器
#复制右边标红的代码,放到ContainerView.vue的<template>里边
#再把下边<style>里的css代码,放到ContainerView.vue的<style>里边
#npm run serve后结果如图所示
第二步
创建子视图
#在views/container下创建子视图P1View.vue,P2View.vue,P3View.vue
#将P1View.vue,P2View.vue,P3View.vue的<template>里改成
<template><div>这是P1/2/3View</div>
</template>
第三步
嵌套路由配置
#在ContainerView.vue下配个子路由children,情况如图示
第四步
在布局容器视图中添加<router-view>,实现子视图组件展示
#在ContainerView.vue的<elmain>里添加<router-view>
第五步
在布局容器视图中添加<router-link>,实现路由请求
#添加
<router-link to="/c/p1">P1</router-link><br>
<router-link to="/c/p2">P2</router-link><br>
<router-link to="/c/p3">P3</router-link><br>
嵌套路由-小结
#在布局容器视图中的路由配置里价格重定向redirect
#保证以/c进入也有数据
redirect: '/c/p1'
Vuex
介绍
创建vuex的脚手架工程
#跟前面的操作差不多,这里的选择换成Vuex
使用方式
state共享数据
#在vuex框架的state里填写变量name
#在App.vue里用{{$store.state.name}}调用,与文本插值{{}}类似
mutation数据同步函数
#先在store/index.js里添加mutation函数setName方法
#通常是用v-on:/@绑定其他方法来修改数据
#修改时this.$store.commit(para1,para2)是固定模板
#para1是mutation里定义的函数名,para2是要放入的形参
actions 异步
#通过actions调用到mutations,在actions中可以进行异步操作
#先安装axios,终端输入
npm install axios
#先调用post
#再调用mutation的setName函数
#context上下文
#调用后端url需要代理
#顺便设置端口
#调用模板this.$store.dispatch(mutations的函数)
this.$store.dispatch('setNameByAxios')
vuex小结
TypeScript
介绍
#全局安装typescript
npm install -g typescript
#查看ts版本
tsc -v
hello.ts入门程序
#ts编译时就会检查,hello(123)->string就会报错
//hello.ts
//通过ts代码,指定函数的参数类型为string
function hello(msg:string){console.log(msg)
}//传入的参数类型为number
//hello(123)
hello('123')
TS与JS的比较
TS的理解
创建vue-ts-demo项目
#老样子,修改一些,其他与前面无差
#创建完成后,vscode打开项目即可