0
点赞
收藏
分享

微信扫一扫

基于Vue+mint-ui的移动应用(二)

本篇包含以下内容:

  • 包引入方法
  • 使用mint-ui开发一个首页底部导航栏
  • vue 路由

上节我们成功配置了环境并初始化一个vue项目,下面我们开发一个移动端首页。

一、引入依赖包vuex、axios、mint-ui

1、vuex

npm install vuex --registry=https://registry.npmmirror.com

2、Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。这个可暂时不用安装。

npm install axios --registry=https://registry.npmmirror.com

3、mint-ui,一个基于vue的移动端ui组件库

npm install mint-ui --registry=https://registry.npmmirror.com

4、vue-router

npm install vue-router --registry=https://registry.npmmirror.com

5、引入 Mint UI

在 main.js 中写入以下内容,需要注意的是,样式文件需要单独引入。

import Vue from 'vue'
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import App from './App.vue'

Vue.use(MintUI)

new Vue({
  el: '#app',
  components: { App }
})

二、修改App.vue,加入mint ui的导航控件mt-tabbar,其中图片可以自己找一找替换

<template>
  <div id="app">
    <router-view/>
    <mt-tabbar
      v-model="selected"
      fixed
    >
      <mt-tab-item id="外卖">
        <img slot="icon" src="./assets/waimai.png">
        外卖
      </mt-tab-item>
      <mt-tab-item id="订单">
        <img slot="icon" src="./assets/dingdan.png">
        订单
      </mt-tab-item>
      <mt-tab-item id="我的">
        <img slot="icon" src="./assets/wode.png">
        我的
      </mt-tab-item>
    </mt-tabbar>
  </div>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {
      selected: '外卖'
    }
  }
}
</script>

此时打开浏览器(没效果可刷新)查看发现已经变成我们新加入的底部导航页面了

 三、路由设置

目前为止我们实现了底部导航栏,可看到点击底部切换效果,但内容空空,我们现在来实现一下点击切换页面

1、在components目录下新建三个文件:TakeoutList.vue、OrderList.vue、Personal.vue,内容一样

<template>
  <div>
      <span style="color: red">外卖</span>
  </div>
</template>

2、src下新建文件夹router和文件index.js,此文件有可能会在项目初始化中已经建好了,如果有请忽略。把index.js内容修改为以下内容:其中@/components/takeout/TakeoutList路径要和自己目录中路径一致。

import Vue from "vue"
import Router from 'vue-router'

import TakeoutList from '@/components/takeout/TakeoutList'
import OrderList from '@/components/order/OrderList'
import Personal from '@/components/my/Personal'

Vue.use(Router)

export default new Router({
    routes: [
        {
            path: '/takeout/list',
            name: 'TakeoutList',
            component: TakeoutList,
            alias: '/'
          },
          {
            path: '/order/list',
            name: 'OrderList',
            component: OrderList
          },
          {
            path: '/my/personal',
            name: 'Personal',
            component: Personal
          }
    ]
})

3、mian.js中加入以下两句:

 4、App.vue中export default中加入以下watch:

<script>

export default {
  name: 'App',
  data () {
    return {
      selected: 'takeout'
    }
  },
  watch: {
    'selected': {
      handler () {
        console.log(this.selected)
        if (this.selected === 'takeout') {
          this.$router.push({
            name: 'TakeoutList'
          })
        } else if (this.selected === 'order') {
          this.$router.push({
            name: 'OrderList'
          })
        } else if (this.selected === 'my') {
          this.$router.push({
            name: 'Personal'
          })
        }
      }
    }
  }
}
</script>

至此首页切换效果已完成

 

举报

相关推荐

0 条评论