Vue案例

路由守卫:页面跳转。

在main.js文件中书写。路由要在这里设置。

//设置路由守卫
//判断sessionStorage对象中是否有登录的对象
let login = sessionStorage.getItem("login")
router.beforeEach((to, from, next) => {
    //如果有对象,允许跳转
    if (to.path =='/' || login) {
        next()
    } else {
        //回到登录页面
        router.push('/')
    }
})

 全局优化

 每个视图都要重复写,还有很多增删改查请求,每次请求都要去调用,效率低下

import axios from 'axios';

import qs from 'qs'

axios.post('http://localhost:8888/elm/login'

 统一在main.js中去设置为全局变量

import axios from 'axios';
import qs from 'qs'
//设置为全局的路径
axios.defaults.baseURL ='http://localhost:8888/elm'

let app = createApp(App)
//将axios和qs设置Vue的全局属性,所有vue组件直接使用
//$axios为名字,=的右边是将上方定义好的变量进行赋值。
app.config.globalProperties.$axios = axios 
app.config.globalProperties.$ps = ps 
app.use(router).mount('#app')

子路由

1.在views文件夹下,创建视图(组件)BusinessQuery.vue

2.index.js文件中,导入组件

3.在index.js文件中,加载子路由。(因为是在index.js中实现跳转)

给.vue文件添加对应css文件

@表示src路径

 监听数据(监听集合)

 

 数组遍历后,给每个食物对象添加了num属性,默认等于0

 将查出的数据放到foodList数组中。

 监听这个数组。        deep:true 是深度监听。

悬浮头

Css样式
/* --------------------总容器-------------------- */
.wrapper {
    width: 100%;
    height: 100%;
    user-select: none;
    background-color:#F0F0F0;
}

/* --------------------头部-------------------- */
.wrapper header {
    width: 100%;
    height: 12vw;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 4.8vw;
    position: fixed;
    left: 0px;
    top: 0px;
    z-index: 100;
}

悬浮尾(共用组件流程)

1.把代码放入components文件夹中

<template>
  <footer>
                <ul>
                    <li @click="goIndex">
                        <i class="fa fa-home"></i> 
                        <p>云医院</p>
                    </li>
                    <li >
                        <i class="fa fa-compass"></i>
                        <p>商城</p>
                    </li>
                    <li @click="goOrderList">
                        <i class="fa fa-file-text-o"></i>
                        <p>发现</p>
                    </li>
                    <li >
                        <i class="fa fa-user-o"></i>
                        <p>我的</p>
                    </li>
                </ul>
            </footer>
</template>

<script>
export default {
  data () {
    return {

    }
  },
  methods: {
    goIndex() {
      let login = sessionStorage.getItem('login');
      if (login == null) {
        this.$router.push('/login')
      } else {
        //已登录,跳转到主页
        this.$router.push('/')
      }
      
    },
    goOrderList() {
        let login = sessionStorage.getItem('login');
      if (login == null) {
        this.$router.push('/login')
      } else {
        //已登录,跳转订单页面
        this.$router.push('/orderlist')
      }
        
    }
  },
  components: {},
  computed: {},
  watch: {},
  mounted () {}
}
</script>
<style src="@/assets/css/tab.css" scoped>
</style>

2.在使用页中,导入组件,并注册到组件中。

名字一样可省略

3.使用

 

根据性别,显示先生/女士

 

钩子函数,在页面加载时,从Session Storage中获取

调用issex(sex)方法,返回不同的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值