美文网首页
vue重构有赞商城- 路由配置

vue重构有赞商城- 路由配置

作者: 陈光展_Gz | 来源:发表于2019-05-16 21:59 被阅读0次

一、路由配置一


1. 创建router模版

html:(个人中心页面member.html)

<body class=" ">
  <div id="ap">
    <router-view>
      
    </router-view>
  </div>
</body>

js:(member.js)

let routes = [{
  path:'/',  //根路由
  components: require('./components/member.vue')
},{
  path:'/address',
  components: require('./components/address.vue'),
  children:[{   //嵌套路由
    path: '',
    // components: require('./components/all.vue')
    redirect:'all'
  },{
    path: 'all',
    name: 'all',
    components: require('./components/all.vue')
  },{
    path: 'form',
    name: 'form',
    components: require('./components/form.vue')
  },]
}]

2. 创建一级路由


  • adress.vue组件的入口在member.html,在页面做相应的路由导航
  • 路由导航有两种方式,1、router-link , 2、编程式导航
  • router-link之前,需要在路由的配置
let routes = [{
  path:'/',  //根路由
  components: require('./components/member.vue')
},
{
  path:'/address',
  components: require('./components/address.vue')
}]
<router-link to="/address" target="_self">
  <p class="title-info c-black font-size-14">收货地址管理</p>
</router-link>

2.1嵌套路由之路由重定向

2.2地址渲染到页面上

  • 拿到数据addressData:require('js/address.json')
  • 渲染数据
<div class="select-group">
  <select class="js-province-selector" v-model="provinceValue">
    <option value="-1">选择省份</option>
    <option :value="p.value" v-for="p in addressData.list" >{{p.label}}</option>
  </select>
  <select class="js-city-selector" v-model="cityValue">
    <option value="-1">选择城市</option>
    <option :value="c.value" v-for="c in cityList" >{{c.label}}</option>
  </select>
  <select class="js-county-selector" name="area_code" data-code="" v-model="districtValue">
    <option value="-1">选择地区</option>
    <option :value="d.value" v-for="d in districtList" >{{d.label}}</option>
  </select>
</div>
</div>
  • 监听数据
watch: {
  provinceValue(val){
    if(val===-1)return
    let list = this.addressData.list
    let index = list.findIndex(item=>{
      return item.value === val
    })
    this.cityList = list[index].children
    this.cityValue = -1
    this.districtValue = -1
  },
  cityValue(val){
    if(val===-1)return
    let list = this.cityList
    let index = list.findIndex(item=>{
      return item.value === val
    })
    this.districtList = list[index].children
    this.districtValue = -1
  }
}
  • findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。

3.保存(分add和editl两种)数据


add(){
  //需要做非空和合法性校验
  let {name,tel,provinceValue,cityValue,districtValue,address} = this
  let data = {name,tel,provinceValue,cityValue,districtValue,address}
  if(this.type==='add'){
    Address.add(data).then(res=>{
      this.$router.go(-1)
    })
  }
  if(this.type==='edit'){
    data.id = this.id
    Address.update(data).then(res=>{
      this.$router.go(-1)
    })
  }
},

3.1当点击修改时候,需要把当前的list传进来,并且进入修改页面,需要对数据进行定位,所以在生命周期created时候就需要把数据调用。

相关文章

  • vue重构有赞商城- 路由配置

    一、路由配置一 1. 创建router模版 html:(个人中心页面member.html) js:(member...

  • Vue重构有赞商城

    一、记录我踩到的坑 (1)、未绑定数据:(踩坑次数:2) (2)、如何实现页面的跳转 例如:我点击水果 首先绑定2...

  • Vue.js重构有赞商城-配置

    1. 搭建脚手架 Vue-cli官方教程Vue.js安装教程 yarn global add vue-cli脚手架...

  • Vue异步请求数据和nextTick

    vue异步获取数据解析 最近在用vue重构有赞商城,在异步获取数据的时候有些困惑,所以总结分享给大家,也希望大家能...

  • Vue.js重构有赞商城(I)

    1. 首页index.html 迁移静态页面 index.html的头部 (1). DNS 预读取 DNS 预读取...

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

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

  • vue重构有赞商城-购物车4

    一、原生向左滑动显示删除按钮 方法一:html: 分别绑定@touchstart="start($event,go...

  • veu传参几种方式

    1、query的方式 2、params的方式 配置路由: 动态路由子路由 vue路由跳转有四种方式 router-...

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • Vue 基础 - 前端路由

    使用vue-router实现前端路由 安装vue-router: 配置路由文件,并在vue实例中导入: 设置视图(...

网友评论

      本文标题:vue重构有赞商城- 路由配置

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