vue饿了么(一)--vue-router路由 & mock后台数据

1.vue-router:点击导航按钮显示相应页面

1.router/index.vue

import Vue from 'vue'
import Router from 'vue-router'
import header from '@/components/header/header'
import ratings from '@/components/ratings/ratings'
import seller from '@/components/seller/seller'
import goods from '@/components/goods/goods'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/header',
      name: 'header',
      component: header
    },
    {
      path: '/ratings',
      name: 'ratings',
      component: ratings
    },
    {
      path: '/seller',
      name: 'seller',
      component: seller
    },
    {
      path: '/goods',
      name: 'goods',
      component: goods
    }
  ]
});

2.App.vue






3.main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: ''
})

router.push('/goods')//这里不再使用router.go() 改用router.push()

2.mock后台数据,axios获取数据

1.webpack.dev.conf.js

'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')

//添加mock 数据
const express = require('express')
const app = express()
var appData = require('../data.json')//加载本地数据文件
var seller=appData.seller
var goods=appData.goods
var ratings=appData.ratings

const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
   watchOptions: {
      poll: config.dev.poll,
    },
    before(app) {
     app.get('/api/seller', function (req, res) {
       res.json({
         errno: 0,
         data: seller
       });
     });
     app.get('/api/goods', function (req, res) {
       res.json({
         errno: 0,
         data: goods
       });
     });
     app.get('/api/ratings', function (req, res) {
       res.json({
         errno: 0,
         data: ratings
       });
     });
   }
  },
  plugins: [
    new webpac

 

2.npm run dev之后,App.vue验证数据正确性


3.seller.supports加入判断 否则出错。

{{seller.name}}
{{seller.description}}/{{seller.deliveryTime}}分钟送达
{{seller.supports[0].description}}

 

你可能感兴趣的:(vue饿了么(一)--vue-router路由 & mock后台数据)