美文网首页
Vue 路由和Http

Vue 路由和Http

作者: 祝名 | 来源:发表于2018-12-28 23:02 被阅读0次

一.路由

A. 什么是路由?

  1. 在以前,我们实现网页与网页跳转使用的是a标签,给href提供网络地址或路径的话,可以跳转到相应的页面去。
  2. 路由与a标签实现的功能是一样的,也是实现页面的跳转,但性能更好。
  3. 点击a标签,每次点击都要发送网络请求,页面是不停的刷新的。
  4. 但,使用路由机制,点击之后不会实现请求和页面刷新,直接可以跳转的目标位置去。

B. 语法与操作

1. 安装路由模块

命令行中输入npm install vue-router --save-dev

2. 引入路由模块

要想使用路由,要在main.js文件中引入vue-router路由模块---import VueRouter from 'vue-router'

3. 使用VueRouter路由模块

Vue.use(VueRouter)

4. 配置路由

(1)注明要使用这个路由之后,就可以在下方配置路由---const router = new VueRouter({})
(2)括号中传递对象,对象的参数是固定的。
(3)参数routes是个数组,数组里面可以拥有对应的对象。
(4)对象中的第一个参数是path,path是要路由的地址,比如下例我们的路由地址是根路径"/"
(5)对象中的第二个参数是component,如果抓到了路由的地址,需要调用一个component,component可以跳转到对应的组件地址

5. 引入目标组件

现在这个路由并不能被使用,因为找不到Home和HelloWorld组件。所以,我们引进Home和HelloWorld组件。(注意:这里HelloWorld组件已存在,Home组件还未创建)
import HelloWorld from './components/HelloWorld'
import Home from './components/Home'

6. 目标组件相关操作

(1)首先,在components文件夹下建立Home.vue组件
(2)我们要让Home.vue成为Header.vue和Footer.vue和Users.vue的父级
(3)操作Home.vue如下,然后将App.vue中的组件和import内容清除

7. 在实例化vue对象中应用路由router模块
8. <router-view></router-view>

现在可以找到路由地址“/”,也能执行Home组件,但是没有告诉系统在哪里展示这个Home组件。这里根组件是App,所以要在App.vue当中输入对应内容。<router-view></router-view>

9. 此时页面正常显示
/根路径,home路径正常显示
/helloworld路径正常显示
10. 去掉#标志mode:"history"

上图url处仔细观察会发现,有多余的#/标识,需要去掉。因为我们自己定义路由,点击实现的时候会有问题。
在配置路由时加入一个属性mode:"history",就可以去掉了

C. 实现自定义导航

1. 在App.vue中加入<router-link to="xx">xx</router-link>

功能和a标签一致,只是点击不会每次都发送请求,刷新页面,所以项目运行速率好很多。


二.Http请求

A. 安装与引入

1. 命令行中安装vue-resource模块npm install vue-resource --save-dev
2.在main.js中引入vue-resource模块,并使用。这时就可以在当前的任意组件去使用http了

B. 应用

1. 这里介绍一个以后会经常用到的网络接口,jsonplaceholder,网址:http://jsonplaceholder.typicode.com/
2. 我们应用这个/users接口,打开后复制地址http://jsonplaceholder.typicode.com/users

3. 生命周期中的钩子函数中的created函数,代表页面加载完成之前,创造组件的钩子函数,所以我们把这个链接地址附在created函数中。在页面加载之前就拿到users中的数据。
这里请求api成功的话就可执行.then,箭头函数的data代表请求成功的话,会把数据传给data
这里的data内的body就是我们要的数组,将这个数组赋给我们自己的users数组就可使用了。this.users = data.body
4.这里我们可以看到刚刚获取的数据data.body是赋给了users空数组。之前已经建立了Users.vue和Home.vue之间的属性传值关系。所以可以正常接入users数组。

image.png

相关文章

  • Vue 路由和Http

    一.路由 A. 什么是路由? 在以前,我们实现网页与网页跳转使用的是a标签,给href提供网络地址或路径的话,可以...

  • 路由1

    路由:vue-router Vue Router 是 [Vue.js](http://cn.vuejs.org/)...

  • 路由

    路由:vue-router Vue Router 是 [Vue.js](http://cn.vuejs.org/)...

  • vue+axios 实现登录拦截权限验证

    vue+axios 前端实现登录拦截(路由拦截、http拦截) 一、路由拦截 登录拦截逻辑 第一步:路由拦截 首先...

  • VUE100问

    vue-cli工程 vue.js核心知识 vue-router路由 vuex状态管理器 axios等http请求 ...

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • VUE路由的简单使用

    VUE中如何使用路由? 路由的基本使用 在html中 引入vue 和 vue-router 包 创建vue对象并将...

  • Vue 学习笔记 vue-router路由和前端状态管理

    Vue 学习笔记十一、vue-router路由和前端状态管理 什么是路由:网址 11.1 vue­-router路...

  • Vue实现路由跳转

    1. 介绍 Vue Router 是 Vue.js[http://cn.vuejs.org/] 官方的路由管理器 ...

  • 2018-09-23 vue初学九(路由)

    路由 vue-router是Vue的工具库使用路由需要导入router库,和vue.js一起使用 路由的使用分为四...

网友评论

      本文标题:Vue 路由和Http

      本文链接:https://www.haomeiwen.com/subject/nwdelqtx.html