当前位置 : 主页 > 手机开发 > harmonyos >

vue路由笔记

来源:互联网 收集:自由互联 发布时间:2023-08-28
路由基础 1.绑定静态路由 router-link to="home"/router-link home是字符串 2.动态路由 router-link :to="home"/router-link home是data对象中定义的key 3.路由的名字 name 4.路由的跳转方式 1.router-link to 相当于超

路由基础

1.绑定静态路由
  <router-link to="home"></router-link>
  home是字符串
2.动态路由
  <router-link :to="home"></router-link>
  home是data对象中定义的key

3.路由的名字
   name

4.路由的跳转方式
    1.router-link to 相当于超链接href
    2.this.$router.go(-1) 返回到上一个浏览记录
    3.this.$router.replace('/menu') 指定路由的path
    4.this.$router.replace({name:'menulink'}) 指定路由的name
    5.this.$router.push("/menu")

5.一个path设置对应一个view 当没有匹配的path设置默认的view  可以设置多层路由

vue路由笔记_后端服务

 vue配置基础url请求地址

VUE_APP_BASE_URL=/autotest-web/web2222

.env

export default {
  getBaseUrl() {
    return process.env.VUE_APP_BASE_URL;
  }
};

system.js

devServer: {
    port: 9000, //webpack启动的web服务器占用9000
    proxy: {
      '/autotest-web/': {
        //如果url中没有/autotest-web/那么将不会进行代理转发
        //autotest-web的设置源头
        //getBaseUrl() {return process.env.VUE_APP_BASE_URL;}
        //const instance = axios.create({
        //baseURL: system.getBaseUrl()
        target: 'http://10.199.140.39:8090/'
      }
    }
  }

vue.config.js

const instance = axios.create({
  baseURL: system.getBaseUrl(),
  timeout: 5000,
  headers: {}
});

http.js

this.$refs.form.validate((valid) => {
          if (valid) {
            this.$http.authLogin(this.form)
              .then(() => {
                this.$router.push('exec');
              })
              .always(() => {
                this.disableLogin = false;
                this.loginText = '登录';
              })

view

export default {
  authLogin: {
    url: '/login/authLogin',
    method: 'POST',
    description: '用户登录'
  },
  getUserInfo: {
    url: '/user/getUserInfo',
    method: 'GET',
    description: '获取当前登录者信息'
  },
  logout: {
    url: '/logout',
    method: 'POST',
    description: '退出登录'
  }
};

api.js 

vue路由笔记_用户登录_02

 自己添加一个路由匹配

VUE_APP_BASE_URL=/api/


const instance = axios.create({
  baseURL: system.getBaseUrl(),
  timeout: 5000,
  headers: {}
});


devServer: {
    port: 9000, //webpack启动的web服务器占用9000
    proxy: {
      '/api/': {
        //如果url中没有/autotest-web/那么将不会进行代理转发
        //autotest-web的设置源头
        //getBaseUrl() {return process.env.VUE_APP_BASE_URL;}
        //const instance = axios.create({
        //baseURL: system.getBaseUrl()
        target: 'http://192.168.56.143:8000/',
        changeOrigin: true,
        //如果后端服务接口地址没有/api/就把api从url中删除掉
        //127.0.0.1:9000/api/portals/login变成了访问后端服务
        //http://192.168.56.143:8000/portals/login
        pathRewrite: {
           '^/api': ''
        }
      }
    }
  }



export default {
  authLogin: {
    //url: '/login/authLogin',
    url:'/portals/login',
    method: 'POST',
    description: '用户登录'
  }

View Code

 

router-view的作用

      router-view的作用就是当匹配到router里面的path时就会把对应的view组件内容替换掉<router-view></router-view>标签的位置 

      如果一个view组件的显示部分内容需要根据用户的url动态加载其它view 那么在此组件的template部分中需要使用<router-view></router-view>来代替其它view的内容

      redirect 加载默认显示路由

vue路由笔记_后端服务_03

router-view复用 

vue路由笔记_ios_04

 

上一篇:flutter安装开发环境
下一篇:没有了
网友评论