Vue 01 登录和主页面

Vue 01 登录和主页面

目录结构

在这里插入图片描述

添加依赖

  • axios
  • vue-router
  • vue-axios

1. 编写基础组件

header
<template>
    <div>
        页面头部
    </div>
</template>

<script>
    export default {
        name: "header"
    }
</script>

<style scoped>

</style>
footer
<template>
    <div>
        页面尾部
    </div>
</template>

<script>
    export default {
        name: "footer"
    }
</script>

<style scoped>

</style>

2. 编写页面

login

组成: header, 登录表单, footer

登录方法:axios(需要在main.js添加全局axios)

<template>
    <div>
        <header></header>
        <br>

        <div>
            用户名:<input type="text" v-model="user.username">
            <br>
            密码:<input type="password" v-model="user.password">
            <br>
            <button v-on:click="login">登录</button>
        </div>
        <br>

        <footer></footer>
    </div>
</template>

<script>
    import header from "@/components/header";
    import footer from "@/components/footer";

    export default {
        name: "login",
        components: {
            header,
            footer
        },
        data() {
            return {
                user: {
                    username: 'admin',
                    password: 'admin'
                }
            }
        },
        methods: {
            login: function () {
                this.axios
                    .post('/api/login', this.user)
                    .then(response => {
                        console.log(response)
                        this.$router.push({path:'/index'})
                    })
                    .catch(function (error) { // 请求失败处理
                        console.log(error);
                    });
            }
        }
    }
</script>

<style scoped>

</style>
index

首页,登录成功跳转到首页,跳转:

// login里面的逻辑
this.$router.push({path:'/index'})
<template>
    <div>
        <header></header>
        <br>

        <h2>Hello World, Index Page</h2>
        <br>

        <footer></footer>
    </div>
</template>

<script>
    import header from "@/components/header";
    import footer from "@/components/footer";

    export default {
        name: "index",
        components: {
            header,
            footer
        }
    }
</script>

<style scoped>

</style>

3. main

初始化全局对象等?

import Vue from 'vue'
import App from './App.vue'

// 开始
import router from "@/routers/router";
import axios from 'axios'
import VueAxios from 'vue-axios'

axios.defaults.baseURL = 'http://localhost:8081/'
Vue.use(VueAxios,axios);
// 结束

Vue.config.productionTip = false



new Vue({
  render: h => h(App),
  // 开始
  router
  // 结束
}).$mount('#app')

4. App.vue

入口。

router提供:<router-view/>。会在pages下面的vue之间切换(TODO:头部和尾部可以移动到router-view之外)

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view/>
  </div>
</template>

<script>
import login from "@/pages/login";
import index from "@/pages/index";

export default {
  name: 'App',
  components: {
    login,
    index
  }
}
</script>

<style>
</style>

5. router

import Vue from 'vue'
import Router from 'vue-router'
import Login from "@/pages/Login";
import Index from "@/pages/Index";

Vue.use(Router)


export const constantRouterMap = [
    {
        path: '/',
        name: 'Login',
        component: Login
    },
    {
        path: '/index',
        name: 'Index',
        component: Index
    }
]

export default new Router({
    // mode: 'hash',
    mode: 'history',
    scrollBehavior: () => ({ y: 0 }),
    routes: constantRouterMap
})

component has been registered but not used

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值