Vue-简单组件跳转

组件跳转

  利用组件, 实现登录和注册的界面切换

1、创建组件

  

 

 index.vue

 

复制代码
<template>
    <div>
        <Longin v-if="isLogin"></Longin>
        <Register v-else></Register>
        <a v-on:click="isLoginFun()" class="login" >登录</a>
        <a v-on:click="isRegisterFun()" class="register">注册</a>
    </div>
</template>

<script>
    import Longin from "./login.vue"
    import Register from "./register.vue"
    
    export default {
        components: {
          Longin,
          Register
        },
        data() {
            return{
                title: "首页",
                isLogin: true
            }
        },
        methods:{
            isLoginFun() {
                if (this.isLogin) {
                    return;
                }
                this.isLogin = true;
            },
            isRegisterFun() {
                if (!this.isLogin){
                    return;
                }
                this.isLogin = false;
            }
        },
        
    }
</script>

<style>
    a{
        padding: 0px 20px;
    }
</style>
复制代码

 

login.vue

复制代码
<template>
    <div>
        <h1>{{title}}</h1>
        <p>
            <label>用户名:</label> <input type="text" placeholder="用户名" />
        </p>
        <p>
            <label>密码:</label> <input type="password" placeholder="密码" />
        </p>
    </div>
</template>

<script>
    export default {
        name: 'Login',
        data() {
            return{
                title: "登录"
            }
        }
    }
</script>

<style>
</style>
复制代码

register.vue

复制代码
<template>
    <div>
        <h1>{{title}}</h1>
        <p>
            <label>用户名:</label> <input type="text" placeholder="用户名" />
        </p>
        <p>
            <label>密码:</label> <input type="password" placeholder="密码" />
        </p>
        <p>
            <label>确认密码:</label> <input type="password" placeholder="确认密码" />
        </p>
            <input type="button" value="注册" />
    </div>
</template>

<script>
    export default{
        name: 'Register',
        data() {
            return{
                title: "注册"
            }
        }
    }
</script>

<style>
</style>
复制代码

 

App.vue

复制代码
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <Index></Index>
  </div>
</template>

<script>
// import HelloWorld from './components/HelloWorld.vue'
import Index from './components/loginAndReg/index.vue'

export default {
  name: 'app',
  components: {
    Index
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
复制代码

 

启动项目

 

 

 点击注册

 

posted @   花先生。  阅读(1181)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示