Vue --- 前后台总结
请求生命周期:
1.先请求路由,在去替换APP.vue中的router-views
2.@表示src
3.加载全局css:
require('@/assets/....')
4.获取当前路由
this.$route.path # 控制数据相关
5.切换到指定的路由
this.$router.push('/') # 控制路由相关
6.清除最后一个框的margin
# 第一种
.car-tag:nth-child(5n){margin-right:0} # 清除第五个框右边的margin
# 第二种
body.car-tag:nth-child(5n) a {margin-right:0}
7.css参数
display:none
width:100vw; # vw屏幕宽度,按照百分比
height:100vh; # vh屏幕高度,按照百分比
8.路由传参
# 获取路由中的pk值
this.$route.query.pk
this.$route.params.pk
9.django后端设置
更改时区语言
# ap:国际化配置
# TODO 国际化配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
标记,会提示上次写到哪里了
# TODO #全局注释
10.vue安装ajax插件:axios
"""
1)安装插件(一定要在项目目录下):
>: cnpm install axios
2)在main.js中配置:
import axios from 'axios'
Vue.prototype.$axios = axios;
3)在任何一个组件的逻辑中发送ajax请求:
this.$axios({
url: 'http://127.0.0.1:8000/cars/',
method: 'get',
}).then(response => { // 成功后的操作,使用then
console.log(response);
}).catch(error => { // 网络状态码为4xx、5xx,失败使用catch
console.log(error);
});
"""
11.CORS跨越问题(同源策略)
"""
同源:http协议相同,ip服务器地址相同,app应用端口相同
跨域:协议,ip地址,应用端口有一个不同,就是跨域
django默认是同源策略,存在跨域问题
"""
# 解决方法
1)Django按照cors模块:
>: pip install django-cors-headers
2)在settings注册模块,配置中间件:
INSTALLED_APPS = [
...
'corsheaders'
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware'
]
3)在settings开启允许跨越:
CORS_ORIGIN_ALLOW_ALL = True
12.前后端进行数据交互的时候前端发生数据异常的处理
# 可以看到报错的信息
.catch(error => {console.log(error.response);}
13.数据包形式
GET:拼接参数
PORT:数据包参数
14.前端发送ajax数据给后台的方式
created() {
// 完成ajax请求后台,获得数据库中的数据
this.$axios({
url: this.$settings.base_url + '/cars/',
method: 'post',
params: { // url拼接参数:任何请求都可以携带
a: 1,
b: 2,
c: 3
},
data: { // 数据包参数:只有get请求是无法携带的,但请求最快
x: 10,
y: 20,
}
}).then(response => {
// console.log('正常', response);
this.cars = response.data;
}).catch(error => { // 网络状态码为4xx、5xx
console.log('异常', error.response);
});
}
# 后端接收
request.method
request.GET
request.POST
request.body # 所有原始的数据包
15.后端见数据库字段 models
# 关于价格
price = models.DecimalField(max_digits=11, decimal_places=2)
# 关于图片
img = models.ImageField(upload_to='car', default='default.jpg')
# 其他配置
class Meta:
db_table = 'old_boy_car'
verbose_name = '汽车'
verbose_name_plural = verbose_name
def __str__(self):
return self.title
16.开设静态资源media
# settings中
# media
MEDIA_URL = '/media/'
# 项目media文件夹的绝对路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# urls中
from django.conf import settings # 指向系统的settings文件
url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),
17.app注册
app注册作用是在反射的时候使用
18.拼接图片路径
from django.conf import settings
# settiongs中MEDIA_URL = '/media/'
for car in car_list:
car['img'] = '%s%s%s' % ('http://localhost:8000', settings.MEDIA_URL, str(car.get('img')))
19.vue中js全局配置
# assets >>> js >>> settings.js中进行配置
export default {
base_url: 'http://127.0.0.1:8000'
}
# main.js中进行全局配置
import settings from '@/assets/js/settings'
Vue.prototype.$settings = settings;
# 使用导入
this.$settings.base_url + '需要拼接的路径',
20.Vue配置elementUI
"""
1)安装插件(一定要在项目目录下):
>: cnpm install element-ui
2)在main.js中配置:
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
3)使用:
灵魂:复制粘贴
"""
21.Vue配置bootscript
jQuery
>: cnpm install jquery
vue/cli 3 配置jQuery:在vue.config.js中配置(没有,手动项目根目录下新建)
const webpack = require("webpack");
module.exports = {
configureWebpack: {
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
Popper: ["popper.js", "default"]
})
]
}
};
BootStrap
>: cnpm install bootstrap@3
vue/cli 3 配置BootStrap:在main.js中配置
import "bootstrap"
import "bootstrap/dist/css/bootstrap.css"
21.Vue中的实例成员
v el 挂载点
data:{} 存放数据
methods:{} 定义函数,方法
delimiters:[] 分隔符
computed:{} 计算
watch:{} 监听
props:[ ] 通过字符串获取标签中属性变量对应的值
22.Vue中的指令
# 属性指令
v-bind:属性名=变量名 或 :属性名=变量名
# 事件指令
v-on:时间名=变量名 或 @事件名=变量名
# 文本指令
{{ }}
v-text
v-html
v-once
# 表单指令
v-model=变量名
# 条件指令
v-show
v-if v-else-if v-else
# 循环指令
v-for
23.关于vue重点 $ 使用
# 自定义事件调用
this.$emit('自定义的事件名','需要传入的参数')
# router的逻辑跳转
this.$router.push('跳转的路径')
# router返回前进操作
this.$router.go(-1) 负为后退,正为前进
24.APP.PY
<router-view></router-view> 路由占位符
Vue --- 前后台总结的更多相关文章
- VUE前后台分离
VUE前后台分离 配置js环境 jQuery >: cnpm install jquery vue/cli 3 配置jQuery:在vue.config.js中配置(没有,手动项目根目录下新建) ...
- nodejs+mongodb+vue前后台配置ueditor
笔者在做一个个人博客项目的时候需要一个富文本框输入组件与后台进行交互,但是官方配置里面没有关于nodejs的,于是自己查阅资料研究了一下,最后终于应用到了系统中. 一.后台配置 首先是找到了这个项目: ...
- wangeditor富编辑器在node和vue前后台分离的使用
本来是想用百度的ueditor编辑器来达到想要的功能的,但在使用中,感觉前后台分离上,需要引入的东西过多,不轻量:然后就去尝试用wangeditor(这个名字听着感觉有点太随意的感觉....但功能上还 ...
- Vue 前后台交互,插件
目录 Vuex 插件 前端存储数据汇总 前后台交互方式(重点) axios 插件 同源策略-跨域问题 前后台分离项目交互流程 异步请求细节 Element-ui 插件 jQ + Bs插件 Django ...
- vue前后台数据交互vue-resource文档
地址:https://segmentfault.com/a/1190000007087934 Vue可以构建一个完全不依赖后端服务的应用,同时也可以与服务端进行数据交互来同步界面的动态更新. Vue通 ...
- [跨域问题]ssm+vue前后台分离跨域问题解决方法
跨域未解决时: Access to XMLHttpRequest at 'http://localhost:8080/vue/findall from origin 'http://localhost ...
- Vue环境搭建、创建与启动、案例
vue环境搭建 """ 1) 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 安装cnpm npm install - ...
- PHP / Laravel 月刊 #23
最新资讯 Laravel 5.6 中文文档翻译完成,译者 60 人,耗时 10 天 Summer Dingo API 中文文档翻译召集[已完成] Summer 我最喜欢 Laravel 5.6 的三个 ...
- day65——day69
目录 DAY65 课堂笔记 1.vue实例 2.插值表达式 3.文本指令 4.面向对象js 5.js函数补充 6.事件指令 7.属性指令 DAY66 课堂笔记 1.表单指令 2.条件指令 3.循环指令 ...
随机推荐
- LeetCode 394. 字符串解码(Decode String) 44
394. 字符串解码 394. Decode String 题目描述 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 enco ...
- 图论 --- 三维空间bfs
<传送门> [题目大意] 给你一个三维的迷宫,让你计算从入口走到出口最少步数. [题目分析] 其实和二维迷宫还是一样的,还是用队列来做,由于BFS算法一般是不需要回溯的,所以我们就用不着还 ...
- DBCP(MySql)+Servlet+BootStrap+Ajax实现用户登录与简单用户管理系统
目 录 简介 本次项目通过Maven编写 本文最后会附上代码 界面截图 登录界面 注册界面 登录成功进入主页 增加用户操作 删除用户操作 修改用户操作 主要代码 Dao层代码 DBCP代码 Se ...
- 嵌入式02 STM32 实验07 串口通信
STM32串口通信(F1系列包含3个USART和2个UART) 一.单片机与PC机串行通信研究目的和意义: 单片机自诞生以来以其性能稳定,价格低廉.功能强大.在智能仪器.工业装备以及日用电子消费产品中 ...
- python之数据解构和算法进阶
1.解压赋值多个变量 采用解构的方法.可迭代对象才可以,变量数量与元素个数要一一对应,或者采用*万能接收. 2.解压可迭代对象赋值多个变量 如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 Va ...
- MNIST机器学习入门(一)
一.简介 首先介绍MNIST 数据集.如图1-1 所示, MNIST 数据集主要由一些手写数字的图片和相应的标签组成,图片一共有10 类,分别对应从0-9 ,共10 个阿拉伯数字. 原始的MNIST ...
- 阿里巴巴 Java 开发手册 (八) 注释规约
1. [强制]类.类属性.类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用 //xxx 方式. 说明:在 IDE 编辑窗口中,Javadoc 方式会提示相关注释,生成 Ja ...
- Golang中的RegExp正则表达式用法指南
------------------------------------------------------------ Golang中的正则表达式 ------------------------- ...
- Java之路---Day06
2019-10-20-23:13:52 目录内容: 1.Scanner类 2.匿名对象 3.Random类 4.对象数组 Scanner类 功能:实现键盘输入数据到程序中 使用步骤: 1.导包: im ...
- LRU(Least Recently Used)算法的理解
https://blog.csdn.net/wydyd110/article/details/84023688 感谢 ,自己学习记笔记 内存里建立一个哈希表,后来数据多了,爆了.咋整呢? 一个算法,就 ...