所谓SPA(single page web application),就是单页面项目的意思。

vue的亮点就是我们只需要关注数据的变化,下面演示一下从零开始创建一个独立项目,并且能自定义路由,提交表单。

一、命令行创建项目

使用vue-cli

安装

npm uninstall vue-cli -g

界面创建项目

安装完成后运行

vue ui

打开http://localhost:8000,会看到如下界面

*创建项目

下一步,我选择了默认

创建完后目录如下

也可以直接用命令行创建

vue create qionghe

启动项目,更多请查看cli使用文档

我们进入目录chenqionghe,执行npm run serve

 cd chenqionghe
npm run serve

打开界面如下http://localhost:8080/

创建webpack项目

安装

npm i -g @vue/cli-init

创建项目

vue init webpack chenqionghe

一路回车

安装完成目录如下

启动

npm run dev

打开http://localhost:8080/#/如下

二、自定义路由

关于路由的使用可以参考查看:router文档

绝对路由

  1. 新建路由文件Cqh.vue

router/index.js引入这个新路由,并指定一个自己的路由

访问:http://localhost:8080/#/cqh,看到如下结果

这样我们就可以自定义路由了

带参数的路由

比如在后面加上:id,如下

使用{{ $route.params.键名}}获取,如下

运行结果



可以看到,id已经能正常的获取和渲染了

嵌套路由

就是一个分组路由的概念,我们把component/Cqh.vue修改一下

<template>
<div class="hello">
<router-link to="/cqh/testA">TestA</router-link>
<router-link to="/cqh/testB">TestB</router-link>
<router-view/>
</div>
</template>

这个router-link就是使用路由的方式,这里我加了两上新路由/cqh/testA,/cqh/testB

这个<router-view/>就是子路由要渲染的地方,再添加一个对应的子路由,如下

访问http://localhost:8080/#/cqh,如下

分别点击TestA和TestB,

这里的页面切换非常平常,体验相当好!

三、表单交互示例

有路由了,咱们后端关注的还是数据交互,少不了表单,下面来个简单的示例TestForm,代码如下

<template>
<div class="hello">
<h1>{{ name }}</h1> 名字:<input type="text" v-model="form.name"/><br>
年龄:<input type="text" v-model="form.age"/><br>
性别:<input type="text" v-model="form.sex"/><br> <button @click="mySubmit">提交</button> <p>{{form.msg}}</p>
</div>
</template> <script>
export default {
data() {
return {
name: '雪山飞猪',
form: {},
}
},
methods: {
mySubmit() {
let msg = "您提交的数据是:" + JSON.stringify(this.form);
this.$set(this.form, 'msg', msg)
}
}
}
</script>

运行如下

再提交一下数据,测试一下

可以看到已经能拿到表单的数据了,用了表单数据,就可以自行请求接口了

传送门:想要更牛逼的表单,请使用ElementUI

vue的使用也太简单了吧,太感人了,只需要关注数据的变化!giao~

Vue从零开发SPA项目的更多相关文章

  1. 基于 vue 全家桶的 spa 项目脚手架

    项目简介 Github: https://github.com/hanan198501/vue-spa-template 我们基于 vue-cli 脚手架生成项目模板做了一些改造,加入了 vue-ro ...

  2. SPA项目开发登陆注册

    使用vue-cli脚手架工具创建一个vue项目 vue init webpack pro01 npm安装elementUI cd pro01 #进入新建项目的根目录 安装: npm install a ...

  3. SPA项目开发之动态树+数据表格+分页

    SPA项目开发之动态树+数据表格+分页 动态生成NavMenu导航菜单(只支持2级菜单) <el-menu key="" index=""> < ...

  4. SPA项目开发动态树、数据表格、分页功能

    SPA项目开发 1.修改左侧动态树 LeftNav.vue <template> <el-menu router :" class="el-menu-vertic ...

  5. SPA项目开发--左侧树加首页导航

    SPA项目开发--左侧树以及首页导航 1. Mock.js 前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点    Mock.js是一个模拟数据 ...

  6. VUE-CLI Vue安装及开发,npm run build无法查看项目的问题

    Vue-cli 本地安装vue项目 需要安装node.js,用node命令行npm的方式安装Vue 步骤: 1.进入项目地址安装 npm install vue-cli -g 2.初始化一下 ESli ...

  7. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

  8. 从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发的项目

    项目简介:该项目是基于日常计算宿舍水电煤气费的需求写的,旨在从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发,使用webpack进行代码的编译.压缩和打包,并疏通 ...

  9. Vue实例:vue2.0+ElementUI框架开发pc项目

    开发前准备 vue.js2.0中文,项目所使用的js框架 vue-router,vue.js配套路由 vuex,状态管理 Element,UI框架 1,根据官方指引,构建项目框架 安装vue npm ...

随机推荐

  1. springboot补充

    springboot中的日志: 在默认的spring-boot-starter中,会引入spring-boot-starter-logging, 而springboot-starte-longing中 ...

  2. Centos7.2 安装docker、mysql和redis

    环境信息 Docker是什么? Docker就是一个平台,这个平台具备开发.发布和运行应用程序的功能,在项目生命周期中,我们可以运用Docker实现快速交付.测试和部署.Docker通过将运行环境打包 ...

  3. 跳表(SkipList)原理篇

    1.什么是跳表? 维基百科:跳表是一种数据结构.它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是 O(logn),优于数组的 O(n)复杂度.快速的查询效果是通过维护一个多层次的链表实 ...

  4. 阻止brew自动更新

    export HOMEBREW_NO_AUTO_UPDATE=true  

  5. moviepy音视频剪辑:多个视频合成一个视频

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.视频合成概述 视频合成,也称为非线性编辑,实际 ...

  6. LoadRunner 多用户并发 登录,上传数据,登出的脚本教程

    这里记录 Web/Http  模式,模拟多用户并发进行  : 登录,上传数据,退出登录一整套流程.并发的用户量多少,可自定义.这里不介绍录屏的方式,是自己写脚本去执行的. 1.安装loadRunner ...

  7. LeetCode初级算法之数组:283 移动零

    移动零 题目地址:https://leetcode-cn.com/problems/move-zeroes/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺 ...

  8. 美国SEC主席离任,Panda Global 前瞻数字资产监管政策变化

    在上上个周末,也就是6月20号,美国的证券行业发生了一件值得反复回味的的事情--美国SEC现任主席Jay Clayton宣布即将离任,对于数字资产行业而言,未来监管政策将如何演变突然有了无限的遐想空间 ...

  9. 【SPOJ QTREE4】Query on a tree IV(树链剖分)

    Description 给出一棵边带权(\(c\))的节点数量为 \(n\) 的树,初始树上所有节点都是白色.有两种操作: C x,改变节点 \(x\) 的颜色,即白变黑,黑变白. A,询问树中最远的 ...

  10. 上传python代码到pypi

    上传python代码到pypi 去pypi官网注册账号 在项目中添加setup.py # coding = utf-8 from setuptools import setup, find_packa ...