vue项目的创建

方法1:

cmd中执行 vue ui

vue会创建一个socket,方便快捷

方法2:

命令行建立

vue create v-proj  //创建项目名为v-proj的项目文件
>>>default (bable,eslint) //默认
manually select features //自定义 (*)bable //把es6语法解析为es5语法(防止沙雕浏览器无法解析es6)
TypeScript //js编程还是ts编程
Progressive Web App(PWA) Support //前端优化组件,需要大量配置
(*)Router //前台路由
(*)Vuex //仓库 ,相当于全局的单例,每次页面刷新,重新加载仓库,为移动端准备,因为移动端不刷新
CSS Pre-processors //css预编译器 less sass两个语法来进行css逻辑编译时,先将他们预编译为css语法
Linter/Formatter //格式化代码,只有按照这个标准书写才不会报错
Unit Testing // 测试
E2E Testing // 测试 >>>
Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) Y //路由蝌蚪使用浏览器历史记录,Y Where do you prefer placing config for Babel, ESLint, etc.?
In dedicated config files
> In package.json //配信信息放的位置 Save this as a preset for future projects? (y/N) N
//N npm run server //启动服务

重构依赖

vue根据配置冲洗你构建依赖

文件夹中必须含有public,src,package.json这三个文件,

cd到这三个文件的 文件夹目录下

执行npm install

若还缺少其他依赖,根据提醒使用npm逐个安装即可.

pycharm管理vue项目

添加vue组件加载,保持长连接

vue项目目录结构

├── v-proj
| ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境
| ├── public
| | ├── favicon.ico // 标签图标
| | └── index.html // 当前项目唯一的页面
| ├── src
| | ├── assets // 静态资源img、css、js
| | ├── components // 小组件
| | ├── views // 页面组件
| | ├── App.vue // 根组件
| | ├── main.js // 全局脚本文件(项目的入口)
| | ├── router
| | | └── index.js// 路由脚本文件(配置路由 url链接 与 页面组件的映射关系)
| | └── store
| | | └── index.js// 仓库脚本文件(vuex插件的配置文件,数据仓库)
| ├── README.md
└ └── package.json等配置文件

vue项目生命周期

启动项目就是启动了node-modules,再加载main.js

  1. 启动项目,加载主脚本文件main.js

    加载vue环境,创建跟组件完成渲染

    读取app.vue组件,并在public的index.html中渲染

    加载系统已有的第三方话环境:router,store

    加载自定义的第三方环境与自己配置的环境:后期项目不断添加.

  2. router被加载,解析router文件夹下的index.js脚本文件,完成 路由-组件 的映射关系(加载views中的大组件)

  3. 新建视图组件.vue(在views文件夹中,在路由中配置),设置路由的跳转,加载component中的小组件.

总结:浏览器请求/user=>router插件映射user.vue组件=>user.vue组件替换App.vue中的<router-view />占位符

注意:1.可以使用<router-link to="/user">用户页</router-link>来完成标签跳转

2.this.$router.push("/user")可以完成逻辑跳转

vue文件式组件

<!--template负责组件的html结构,有且只有一个根标签-->
<template>
<div class="home">
<h1>zhuye</h1>
</div>
</template> <!--script标签负责js逻辑 逻辑固定导出,外界才可以导入 export default{导出内容}-->
<script>
export default {
data(){},
methods :{},
}
</script> <!--style标签负责组件的css样式 谁想保持样式不变,谁就加上scoped,scoped可以将css局部化-->
<style scoped> </style>

全局自定义样式配置

方法1:

在根组件app.vue中直接配置.

方法2:

在静态文件夹assets中新建css文件夹,在文件夹中书写全局css文件.并在main.js中使用import 导入

import "./assets/css/global.css"

方法3:

官方建议:

在静态文件夹assets中新建css文件夹,在文件夹中书写全局css文件.并在main.js中使用require导入

require('@/assets/css/global/css')

注意:在导入文件的时候,可以使用@来表示直接找到src文件夹

css文件后缀名不可以省

vue组件的生命周期钩子

<https://cn.vuejs.org/v2/guide/instance.html#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%9B%BE%E7%A4%BA>

将vue组件的生命周期看作一个数轴,钩子就是在这个数轴上的节点,每个钩子对应不同的时期,每个钩子都是一个回调函数,达到某个钩子的触发点,就可以触发回调函数.

每个钩子都作为组件的实例成员单独作用.

常用
  1. created(){} 创建组件的时候调用,可以用来完成后台数据的请求
  2. mounted(){} 组件加在完成后触发,特别耗时的大文件,可以延后到组件初步加载成功后,再慢慢请求.

router方法

  1. <router-view></router-view>页面组件占位符,写在app.vue根组件中

    <template>
    <div id="app">
    <router-view></router-view>
    </div>
    </template>
  2. <router-link :to="{name: 'course'}">汽车页</router-link>相当于一个特殊的a标签

    等价于拥有class="router-link-exact-active router-link-active"属性的a标签

  3. this.$router 返回一个vuerouter对象

    this.$route 返回一个字典

  4. this.$router.push("/home") 组件跳转

    push方法不可以当前页面跳转当前页面

  5. this.$route.path 表示当前页面

路由逻辑跳转

  • this.$router.push("/home") 组件跳转

    push方法不可以当前页面跳转当前页面

  • this.$router.go(-1) 数字表示相对当前页面的历史记录,正表示前进,负表示后退,数字的绝对值表示步数.

路由重定向

const routes = [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/home',
redirect: '/', // 路由的重定向
},]

路由传参

方式1:/car/detail?pk=1

发送方
//通过url,反引号中使用字符串format带参数
this.$router.push(`/course/detail?pk=${pk}`);
接收方:
//通过route字典中query的pk取值
this.pk = this.$route.query.pk //query叫拼接参数
配置
path: '/course/detail',
name: 'course-detail',
component: CourseDetail

方式2:car/detail/1

发送方
//
this.$router.push({
name: 'course-detail',
query: {pk: pk}});
接收方
this.$route.params.pk; //params路径参数
配置
path: '/course/:pk/detail',  //:pk是有名分组
name: 'course-detail',
component: CourseDetail

注意

  • es6语法中的导入

    import 别名 form "资源"

    es6中所有的导入,只能导入别人的导出,有导出才能导入

  • 在导入文件的时候,可以使用@来表示src文件夹的绝对路径,使用@后,不会自动提示之后的路径

vue项目及插件的更多相关文章

  1. Vue项目功能插件

    项目功能插件 vue-router { path: '/', name: 'home', // 路由的重定向 redirect: '/home' } { // 一级路由, 在根组件中被渲染, 替换根组 ...

  2. webpack + vue 项目 自定义 插件 解决 前端 JS 版本 更新 问题

    Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 它的异步加载原理是,事先将编译好后的静态文件,通过js对象映射,硬编 ...

  3. 本地Vue项目跨域请求本地Node.js服务器的配置方法

    前言:跨域请求是在本地开发时经常遇到的需求,也很简单,只是几句代码配置一下的问题.我初次配置跨域请求时由于官方的说明太简洁,找到的教程又落伍,调试了一番并没有解决问题,到最后解决问题,已花费了很多时间 ...

  4. Vue 自定义一个插件的用法、小案例及在项目中的应用

    1.开发插件 install有两个参数,第一个是Vue构造器,第二个参数是一个可选的选项对象   MyPlugin.install = function (Vue, options) {   // 1 ...

  5. vue项目全局引入vue-awesome-swiper插件做出轮播效果

    在安装了vue的前提下,打开命令行窗口,输入vue init webpack swiper-test,创建一个vue项目且名为swiper-test(创建速度可能会有点慢,耐心等),博文讲完后,源码托 ...

  6. python 全栈开发,Day58(bootstrap组件,bootstrap JavaScript 插件,后台模板,图表插件,jQuery插件库,Animate.css,swiper,运行vue项目)

    一.bootstrap组件 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 组件和插件的区别? 插件:一个功能,比如js文件 组件:html css js 组件包含插件 面 ...

  7. 如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件

    copy内容的网址: https://segmentfault.com/a/1190000007020623 使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要 ...

  8. 在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示

    在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示) 1.使用npm安装依赖 npm install --save codemirror; 2.在页面中放入如下代码 ...

  9. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...

随机推荐

  1. 数据结构学习笔记_树(二叉搜索树,B-树,B+树,B*树)

    一.查找二叉树(二叉搜索树BST) 1.查找二叉树的性质 1).所有非叶子结点至多拥有两个儿子(Left和Right): 2).所有结点存储一个关键字: 3).非叶子结点的左指针指向小于其关键字的子树 ...

  2. zabbix--------配置邮件报警功能---服务器上配置---------

    --------配置邮件报警功能---服务器上配置--------- [www.aa.com@ ~]# yum install mailx -y [www.aa.com@ ~]# vi /etc/ma ...

  3. CSS 的overflow:hidden (清除浮动)

    verflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很 了解.一提到清除浮动,我们就会想到另外一个CSS样式: ...

  4. Apache Pig入门学习文档(一)

    1,Pig的安装    (一)软件要求    (二)下载Pig      (三)编译Pig 2,运行Pig    (一)Pig的所有执行模式    (二)pig的交互式模式    (三)使用pig脚本 ...

  5. 4、uboot对设备树的支持

    第01节_传递dtb给内核 : r2 a. u-boot中内核启动命令: bootm <uImage_addr> // 无设备树,bootm 0x30007FC0 bootm <uI ...

  6. mongoDB可视化工具RoBo 3T的安装和使用

    第一步下载RoBo3T https://robomongo.org/download 第二步安装 双击安装包安装,修改安装路径,不停下一步,点击安装. 一路next,最后到了这个页面直接点击finis ...

  7. java虚拟机(十四)--字节码指令

    字节码指令其实是很重要的,在之前学习String等内容,深入到字节码层面很容易找到答案,而不是只是在网上寻找答案,还有可能是错误的. PS:本文基于jdk1.8 首先写个简单的类: public cl ...

  8. Quick BI 的模型设计与生成SQL原理剖析

    一.摘要 随着物联网的告诉发展,数据量呈现井喷式的增长,如何来分析和使用这些数据,使数据产生商业价值,已经变得越来越重要.值得高兴的是,当前越来越多的人已经意识到了用数据分析决定商业策略的重要性,也都 ...

  9. Django项目:CRM(客户关系管理系统)--78--68PerfectCRM实现CRM业务流程(bpm)报名缴费分页

    # pagination.py # ————————68PerfectCRM实现CRM业务流程(bpm)报名缴费分页———————— from django.utils.safestring impo ...

  10. php连接数据库插入数据

    <form action="updata.php" method="post"> 姓名:<input type="text" ...