vue的初识与简单使用---前后端分离通过接口调取数据
vue的安装
#### 、环境搭建
'''
- 安装node ```
官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/
``` - 安装cnpm ```
npm install -g cnpm --registry=https://registry.npm.taobao.org
``` - 安装脚手架 ```
cnpm install -g @vue/cli
``` - 清空缓存处理 ```
npm cache clean --force
``` #### 、项目的创建 - 创建项目 ```js
vue creat 项目名
// 要提前进入目标目录(项目应该创建在哪个目录下)
// 选择自定义方式创建项目,选取Router, Vuex插件
``` - 启动/停止项目 ```js
npm run serve / ctrl+c
// 要提前进入项目根目录
``` - 打包项目 npm run build
//要在项目根目录下进行打包操作
'''
1. vue 是简单的布置前端页面的框架
在vue项目里面 views 里面放入的是跳转的页面组件
2.
在vue项目里面 App.vue 是主要的页面组件,如果创建新的页面组件就需要添加
<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>|
<router-link to="/freecourse">FreeCourse</router-link> #这个是新增加的组件
</div>
3.
在vue项目里面 router.js 路由里面写路径:
import FreeCourse from './views/freecourse.vue' #加载
{
path: '/freecourse',
name: 'freecourse',
component: FreeCourse
},
#添加路由地址
4.
新增的组件让他生效做配置
<template>
<div class="about">
<h1>这是免费课程</h1>
{{course_list}} # {{*****}} 是动态渲染用的
<p v-for="course in course_list">{{course}}</p> #这里是用for语句循环显示渲染出来的内容
</div> </template>
######## template 是专门写渲染踹的内容 <script>
export default {
name: 'freecourse', #这里的name指向的是路由的名字
data: function () { #data 是让他渲染出来列表中的数据显示
return {
course_list: ['python课程', 'linux', 'go语言']
}
}
}
</script>
########script 是专门写策略的好让他可以在页面渲染出来想要的内容
5.
使用vue的ajax的发送请求方法
安装: npm install axios 安装好了在package.json 可以看到
在 main.js 中配置:
//导入axios
import axios from 'axios'
//把axios对象付给$http
Vue.prototype.$http=axios
在组件的js代码中写:
<template>
<div class="about">
<h1>这是免费课程</h1>
<!--{{course_list}}-->
<p v-for="course in course_list">{{course}}</p>
<button @click="init">点我</button> #就是ajax请求,点击触发
</div>
<!--{{course_list}}-->
</template>
#############模板显示内容
<script>
export default {
name: 'freecourse',
data: function () {
return {
course_list: [] #这里设置为空就可以,数据驱动页面
}
},
methods: { #这里就是axios 发送请求的实现
'init': function () {
var _this = this #这里 吧this 赋值给_this
this.$http.request({
//向下面的地址发送get请求
url:'http://127.0.0.1:8078/course/', #url 指向的是后端发送请求的接口
method:'get' #设置请求模式
}).then(function (response) {
//response.data才是真正的数据
console.log(response.data)
_this.course_list=response.data #前面赋值给_this 拿到的数据给到course_list
})
}
},
mounted: function () { //这段代码就是不需要点击事件了,当页面跳转到指定的,自动渲染页面了
this.init()
}
}
</script>
6.
后端:
解决跨域问题:
创建一个文件 MyMiddle.py
from django.utils.deprecation import MiddlewareMixin class MyMiddleware(MiddlewareMixin):
def process_response(self, request, response):
# 处理了简单请求
response['Access-Control-Allow-Origin'] = '*'
# 处理非简单请求
if request.method == 'OPTIONS':
response['Access-Control-Allow-Headers'] = '*'
# response['Access-Control-Allow-Methods']='PUT,PATCH'
response['Access-Control-Allow-Methods'] = '*' return response 在settings内添加解决跨域问题 MIDDLEWARE = [
'app.MyMiddle.MyMiddleware'
] 在视图函数中创建简单的一个数据信息:
from rest_framework.views import APIView
from rest_framework.response import Response class Course(APIView):
def get(self,request):
return Response(['python课程', 'linux', 'go语言','dasfdasfdasf'])
7.
后端开放用户上传图片接口:
-开放media路径
-创建meidia文件夹(在根路径下)
-在setting中配置:
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
-在urls.py中
from django.views.static import serve
from luffy_city import settings
urlpatterns = [
url(r'^media/(?P<path>.*)', serve,{'document_root':settings.MEDIA_ROOT}),
]
vue的初识与简单使用---前后端分离通过接口调取数据的更多相关文章
- RESTful、共用接口、前后端分离、接口约定的实践 (转)
出处: 某小公司RESTful.共用接口.前后端分离.接口约定的实践 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应对各种需求,更难以提 ...
- 前后端分离,接口API,契约
前后端分离了,然后呢? http://icodeit.org/2015/06/whats-next-after-separate-frontend-and-backend/ Swagger - 前后端 ...
- 某神秘公司 RESTful、共用接口、前后端分离、接口约定的实践
阅读本文大概需要 4.6 分钟. 本文来自 https://juejin.im/post/59eafab36fb9a045076eccc3 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面 ...
- 某小公司RESTful、共用接口、前后端分离、接口约定的实践
作者:邵磊 juejin.im/post/59eafab36fb9a045076eccc3 前言 随着互联网高速发展,公司对项目开发周期不断缩短,我们面对各种需求,使用原有对接方式,各端已经很难快速应 ...
- node、Mongo项目如何前后端分离提供接口给前端
node接口编写,vue-cli代理接口方法 通常前端使用的MocK 数据的方法,去模拟假的数据,但是如果有node Mongodb 去写数据的话就不需要在去mock 数据了,具体的方法如下. 首先 ...
- centos7上用docker搭建简单的前后端分离项目
1. 安装docker Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看你当前的内核版本 使 ...
- webpack 前后端分离开发接口调试解决方案,proxyTable解决方案
如果你有单独的后端开发服务器 API,并且希望在同域名下发送 API 请求 ,那么代理某些 URL 会很有用. dev-server 使用了非常强大的 http-proxy-middleware 包. ...
- 前后端分离之接口登陆权限token
随着业务的需求普通的springmvc+jsp已经不能满足我们的系统了,会逐渐把后台和前端展示分离开来,下面我们就来把普通的springmvc+jsp分为 springmvc只提供rest接口,前端用 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║Vue基础:JS面向对象&字面量& this字
缘起 书接上文<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史>,昨天咱们说到了以我的经历说明的web开发经历的 ...
随机推荐
- C++进阶--代码复用 继承vs组合
//############################################################################ /* * 代码复用: 继承 vs 组合 * ...
- 第一个react
个人觉着react和vue是很相似的,之前还转载过一篇介绍两个异同点的文章,那个时候还完全不懂react,现在才慢慢开始接触,所以只能总结一些个人的心得,首先自然是react的优点了,个人觉着主要有以 ...
- R语言——实验4-人工神经网络
带包实现: rm(list=ls()) setwd("C:/Users/Administrator/Desktop/R语言与数据挖掘作业/实验4-人工神经网络") Data=rea ...
- CDN上的缓存刷新、缓存预热是怎样的使用场景?
缓存刷新 源站内容更新后,希望用户可以获取到最新资源,CDN租户可以通过提交刷新请求将CDN节点上指定的缓存内容强制过期.当用户再次访问时,CDN节点将回源获取已更新内容返回给用户并在节点缓存最新资源 ...
- 事件之父View和子view的点击事件的执行过程
Android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解. 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN-& ...
- 安装时提示 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 安装时出现这个提示. 是由于你工程的AndroidManifest.xml 配置有误,一般来说是activity或Ser ...
- Blob下载文件 & 模拟滚动条实现
1.vue切换路由视图时,事件钩子顺序是 当前模块create-->上一个模块beforeDestroy-->当前模块mounted 因此注册全局事件(比如给window注册事件)应放在m ...
- SCCM2012 R2实战系列之十二:解决OSD分发时间过长的问题
对于SCCM 2012 R2的初学者来说,能够成功分发操作系统可能已经是非常兴奋了.但在企业中会遇到客户提出的各种各样苛刻的需求.所以在平时实验过程中多站点客户的角度想问题,尽可能的贴近企业实际生产环 ...
- java类加载器 Bootstrap、ExtClassLoader、AppClassLoader的关系
1.Bootstrap. ExtClassLoader. AppClassLoader是java最根正苗红的类加载器.2.Bootstrap是本地代码编写的(例如C), ExtClassLoader. ...
- Java - 25 Java 包(package)
Java 包(package) 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包 ...