Vue环境搭建、创建与启动、案例
vue环境搭建
"""
1) 安装node
官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 2) 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
mac操作(sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose)
之后的npm就可以换成cnpm 3) 安装脚手架
cnpm install -g @vue/cli
mac操作(sudo cnpm install --global vue-cli) 4) 进入要存放项目的目录
cd 目标目录 5) 创建项目
vue create 项目名 6) 进入项目目录
cd 项目名 7) 启动项目
npm run serve 8) 停止项目
ctrl+c 注:如果2/3两步出错
npm cache clean --force
"""
Vue项目创建与启动
'''
1.终端前往目标目录: cd 目标目录
2.创建vue项目: vue create 项目名
3.完成相关配置: 见插图
4.在idea(pycharm)中加载项目
5.安装pycharm vue.js插件
6.配置npm启动:见插件
'''
项目目录分析、ajax下载与Element-UI框架下载
'''
1.依赖:node_modules
2.共有资源:public
3.项目文件目录:src
4.相关配置:.js/.json
'''
'''
1.index.html:vue项目的单页面文件
2.assets:存放静态资源
3.components:存放组件(出现在页面组件中的小组件)
4.views:存放页面组件
5.App.vue:根组件(管理页面组件的根组件)
6.main.js:入口脚本文件
7.router.js:路由脚本文件
8.store.js:全局仓库文件
9.vue.config.js:全局配置文件
module.exports = {
devServer :{
port:6666
}
}
'''
'''
项目目录下# ajax下载
cnpm install axios --save main.js入口js
import axios from 'axios'
Vue.prototype.$ajax = axios
'''
'''
用Element-UI 框架
项目目录下element-ui框架下载
cnpm i element-ui -S
main.js
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
'''
Vue组件
<!-- components/Test.vue-->
<template>
<div class="test">
<h1>测试组件</h1>
<p @click="action">{{ msg }}</p>
</div>
</template> <script>
export default {
name: "Test",
data() {
return {
msg: '666'
}
},
methods: {
action() {
window.alert(this.msg)
}
}
}
</script> <style scoped>
.test {
text-align: center;
} h1 {
color: red;
}
</style>
<!--
1.模版:template,只能有一个根标签,改标签通常有默认class名为组件小写
2.业务逻辑:script,对外导出组件的{},字典中可以有data、methods、computed、生命周期钩子
3.样式:style,scoped代表样式只在组件内部起作用
-->
组件的使用
//main.js
import Test from './components/Test'
//import 组件别名 from '组件的相对路径(可以省略后缀)'
new Vue({
router,
store,
render: h => h(Test)
}).$mount('#app');//通过组件别名来使用组件
Vue视图组件与路由
<!-- 1.views文件夹下创建 User.vue 视图组件-->
<template>
<div class="user">
<h1>用户中心</h1>
</div>
</template> <script>
export default {
name: "User"
}
</script> <style scoped>
h1 {
color: red;
}
</style>
// 2.router.js文件中配置路由,两种方式
import User from './views/User'
{
path: '/user',
name: 'user',
component: User
} {
path:'/user',
name:'user',
component:()=>import('./views/User.vue')
}
前后台交互
后台
# views.py
from rest_framework.views import APIView
from rest_framework.response import Response
class Users(APIView):
def get(self, request, *args, **kwargs):
return Response({
'status': 0,
'message': 'ok',
'results': [
{'name': '后台二狗', 'age': 58},
{'name': '后台三狗', 'age': 73}
]
})
# ulrs.py
url(r'^users/', views.Users.as_view()) # settings.py 设置跨域问题
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
前台
// User.vue
<template>
<div class="user">
<h1>用户中心</h1>
<p>{{ user_info }}</p>
</div>
</template> <script>
export default {
name: "User",
data() {
return {
user_info: ''
}
},
mounted() { //组件被加载成功的钩子
let _this = this;
this.$ajax({
method: 'get',
url: 'http://127.0.0.1:8000/users/'
}).then(function (response) {
window.console.log(response)
_this.user_info = response.data.results
})
}
}
</script>
静态资源前后台交互
后台
# settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # urls.py
urlpatterns = [
url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})
]
前台
<template>
<div class="user">
<img src="http://127.0.0.1:8000/media/img1.png" alt="">
</div>
</template>
轮播图实现(走马灯)
<template>
<div class="test">
<el-carousel :interval="4000" type="card" height="200px">
<el-carousel-item v-for="img_src in loop_list" :key="img_src">
<img :src="img_src" alt="">
</el-carousel-item>
</el-carousel>
</div>
</template> <script>
export default {
name: "Test",
data() {
return {
loop_list: [
'http://127.0.0.1:8000/media/img1.png',
'http://127.0.0.1:8000/media/img2.png',
'http://127.0.0.1:8000/media/img3.png'
]
}
}
}
</script> <style scoped> </style>
Vue环境搭建、创建与启动、案例的更多相关文章
- vue环境搭建与创建第一个vuejs文件
我们在前端学习中,学会了HTML.CSS.JS之后一般会选择学习一些框架,比如Jquery.AngularJs等.这个系列的博文是针对于学习Vue.js的同学展开的. 1.如何简单地使用Vue.js ...
- Flume环境搭建_五种案例
Flume环境搭建_五种案例 http://flume.apache.org/FlumeUserGuide.html A simple example Here, we give an example ...
- Flume环境搭建_五种案例(转)
Flume环境搭建_五种案例 http://flume.apache.org/FlumeUserGuide.html A simple example Here, we give an example ...
- Vue环境搭建及第一个helloWorld
Vue环境搭建及第一个helloWorld 一.环境搭建 1.node.js环境安装配置 https://www.cnblogs.com/liuqiyun/p/8133904.html 或者 htt ...
- 前端(二十三)—— Vue环境搭建
目录 一.Vue环境搭建 一.Vue环境搭建 1.安装node 去官网下载node安装包 傻瓜式安装 万一安装后终端没有node环境,要进行node环境变量的配置(C:\Program Files\n ...
- 55.Vue环境搭建
Vue环境搭建 在搭建过程中出现的错误解决办法 https://www.cnblogs.com/lovebing/p/9488198.html cross-env使用笔记 cross- ...
- Vue环境搭建-项目的创建-启动生命周期-组件的封装及应用
vue项目环境的搭建 """ node >>> python:node是用c++编写用来运行js代码的 npm(cnpm) >>> p ...
- vue环境搭建以及使用vue-cli创建项目
我要跑vue项目,所以我要搞vue. 1.环境搭建 进入node官网下载对应版本的node,一步步安装即可. 安装会自动配置路径和npm包管理环境,通过node -v进行验证 2.安装vue-cli脚 ...
- VUE环境搭建、创建项目、vue调试工具
环境搭建 第一步 安装node.js 打开下载链接: https://nodejs.org/en/download/ 这里下载的是node-v6.9.2-x64.msi; 默认式的安装,默认 ...
随机推荐
- DeepCoder: A Deep Neural Network Based Video Compression
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...
- 使用log4j将数据流入flume
最近做了一个log抽取的项目,采用log4j+flume实现,在此分享记录一下. 准备 什么是flume? flume是一个提供高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. flume ...
- MPI组操作
进程组的创建 MPI_Comm_Group int MPI_Comm_group( MPI_Comm comm, MPI_Group *group ); 把相同的通信子进程放到一个组内. #inclu ...
- C# DataTable查询示例
代码 public void Test() { #region 初始化数据 /* 数据 张三 语文 34.00 张三 数学 58.00 张三 英语 61.00 李四 语文 45.00 李四 数学 87 ...
- 移动web开发之布局
移动web开发流式布局 1.0 移动端基础 1.1浏览器现状 PC端常见浏览器:360浏览器.谷歌浏览器.火狐浏览器.QQ浏览器.百度浏览器.搜狗浏览器.IE浏览器. 移动端常见浏览器:UC浏览器,Q ...
- openCV - 3. Mat对象
Mat对象与IplImage对象.Mat对象使用.Mat定义数组 Mat对象与IplImage对象 Mat对象OpenCV2.0之后引进的图像数据结构.自动分配内存.不存在内存泄漏的问题,是面向对象的 ...
- HTTP系列:缓存
先看一些概念性的术语: 命中率:由缓存提供服务的请求所占的比例被称为缓存命中率: 缓存未命中:其实就是一些到达缓存的请求没有副本可用,而被转发给原始服务器: 再验证:原始服务器上内容可能会发生变化,缓 ...
- jieba分词-强大的Python 中文分词库
1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. 很多人学习pytho ...
- Labview学习之路(三)前面板数值控件
首先看一下前面板都有什么数值控件(我用的labview是17年的,其他版本可能会有不同) 我个人将他们分成了六个部分 第一部分 这个部分大家很好理解,数值输入数值输出,时间输入和时间输出,这里我们讲一 ...
- 09.redis 哨兵主备切换时数据丢失的解决方案
一.两种数据丢失的情况 1. 异步复制导致的数据丢失 因为master->slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了 2 ...