美文网首页
vue-动态路由

vue-动态路由

作者: 望月成三人 | 来源:发表于2020-11-21 12:10 被阅读0次

准备工作

  • 新建项目,vue create routeapp
    • 选择手动设置-route-history输入yes
      • yes表示使用hostory模式,url格式好看,后台需要设置相应规则
      • no 表示使用的是hash值,后台不用进行任何设置,使用的是#锚点定位的方式
  • 安装请求组件
cnpm install axios --save

代码解析

  • 本次代码已history模式为实例
  • App.vue的导航
<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/me">Me</router-link> |
      <router-link to="/new">New</router-link> |
      <router-link to="/weather">Weather</router-link> |


    </div>
    <!--路由处理 -->
    <router-view/>
  </div>
</template>
  • index.js中声明路由组件
import Vue from 'vue'
import VueRouter from 'vue-router'
iimport New from '../views/New.vue'
import Weather from '../views/Weather.vue'
Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
  ...
  {
   # location自定义的变量,可以设置多个如:/weather/:location:area
    path: "/weather/:location",
    name: "Weather",
    component: Weather
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

  • Weather.vue组件
<template>
    <div class="content">
        <h2>城市id: {{location}}</h2>
        <h3>城市名称:{{city}}</h3>
        <h3>省会:{{capital}}</h3>
    </div>
</template>
<script>
import axios from 'axios'
export default {
    data() {
        return {
           // 页面传值的location值,在这里被接受
            location:this.$route.params.location,
            city:null,
            capital:null
        }
    },
    async beforeMount() {
        let key = "CCCC";
        let http_url = `https://geoapi.qweather.com/v2/city/lookup?location=${this.location}&key=${key}`;
        let res = await axios.get(http_url)
        let res_data = res.data
        console.log(res)
        if (res_data.code == 200) {
            this.city = res_data.location[0].name,
            this.capital = res_data.location[0].adm1
        }
    }
}
</script>

执行效果:


image.png

相关文章

  • vue-动态路由

    准备工作 新建项目,vue create routeapp选择手动设置-route-history输入yesyes...

  • 6 VUE路由

    vue-> SPA应用,单页面应用(引入vue-router.js) 路由嵌套(多层路由): 路由其他信息:

  • vue-动态路由的匹配

    我们经常需要把某种模式匹配到所有的路由,全都映射到同个组件。例如,我们有一个User组件,对于所有ID各部相同的用...

  • Vue-基础-05-重点

    Vue-基础-day05-重点 01-基础-路由-vue-router-嵌套路由 children用法和route...

  • 由修改路由懒加载引起的

    layout: posttitle: 由修改路由懒加载引起的tags:- Vue- 笔记 项目背...

  • 第十一章 vue­-router路由和前端状态 管理

    11.1 vue-­router路由基本加载 简单四步走 安装 引用 配置路由文件,并在vue实例中注入 确定视图...

  • Vue 动态路由

    动态路由 动态路由传参

  • vue-路由

    路由是什么 路由,其实就是指向,当我点击home导航按钮,页面显示home的内容,如果点击的是about,就切换成...

  • vue-路由

    需要掌握: 路由map路由视图路由导航 路由参数的配置嵌套路由的使用 命名路由和命名视图重定向 router/in...

  • VUE-路由

    后端路由:对于普通网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;前端路由:对于单页面...

网友评论

      本文标题:vue-动态路由

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