首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第 1 章 准备知识
1.1 前端技术简介
1.2 HTML入门
1.2.1 准备开发工具
1.2.2 HTML中的基础标签
1.3 CSS入门
1.3.1 CSS选择器入门
1.3.2 CSS样式入门
1.4 JavaScript入门
1.4.1 我们为什么需要JavaScript
1.4.2 JavaScript语法简介
1.4.3 从JavaScript到TypeScript
1.5 渐进式开发框架Vue
1.5.1 第一个Vue应用
1.5.2 范例:一个简单的用户登录页面
1.5.3 Vue 3的新特性
1.5.4 我们为什么要使用Vue框架
第 2 章 TypeScript基础
2.1 重新认识TypeScript
2.1.1 安装TypeScript
2.1.2 TypeScript语言版本的HelloWorld程序
2.1.3 使用高级IDE工具
2.2 TypeScript中的基本类型
2.2.1 布尔、数值与字符串
2.2.2 特殊的空值类型
2.2.3 数组与元组
2.3 TypeScript中有关类型的高级内容
2.3.1 枚举类型
2.3.2 枚举的编译原理
2.3.3 any、never与object类型
2.3.4 关于类型断言
2.4 函数的声明和定义
2.4.1 函数的类型
2.4.2 可选参数、默认参数和不定个数参数
2.4.3 函数的重载
第 3 章 TypeScript中的面向对象编程
3.1 理解与应用“类”
3.1.1 类的定义与继承
3.1.2 类的访问权限控制
3.1.3 只读属性与存取器
3.1.4 关于静态属性与抽象类
3.1.5 类的实现原理
3.2 接口的应用
3.2.1 接口的定义
3.2.2 使用接口约定函数和可索引类型
3.2.3 使用接口来约束类
3.2.4 接口的继承
3.3 TypeScript中的类型推断与高级类型
3.3.1 关于类型推断
3.3.2 联合类型与交叉类型
3.3.3 TypeScript的类型区分能力
3.3.4 字面量类型与类型别名
当前位置:
首页>>
技术小册>>
TypeScript和Vue从入门到精通(一)
小册名称:TypeScript和Vue从入门到精通(一)
### 1.5.2 范例:一个简单的用户登录页面 在本章中,我们将通过构建一个简单的用户登录页面来实践TypeScript与Vue.js的结合使用。这个示例不仅能帮助你理解Vue组件的基本结构,还能深入掌握TypeScript在Vue项目中的应用,包括类型定义、组件属性传递等核心概念。我们将逐步搭建这个页面,从创建Vue组件到实现登录逻辑,最后通过简单的样式调整提升用户界面的友好性。 #### 准备工作 在开始之前,请确保你的开发环境已经安装了Node.js、npm/yarn以及Vue CLI。我们还将使用TypeScript作为开发语言,因此你可能需要安装TypeScript的npm包以及Vue CLI的TypeScript插件。 1. **安装Vue CLI**(如果尚未安装): ```bash npm install -g @vue/cli ``` 2. **创建Vue项目并启用TypeScript支持**: ```bash vue create my-vue-project ``` 在创建过程中,选择“Manually select features”,然后确保勾选“TypeScript”、“Router”和“Linter / Formatter”(可根据个人喜好选择Linter),之后按照提示完成设置。 3. **进入项目目录并启动项目**: ```bash cd my-vue-project npm run serve ``` #### 创建登录组件 接下来,我们将创建一个名为`Login.vue`的Vue组件,用于实现用户登录界面。 1. **在`src/components`目录下创建`Login.vue`**: ```vue <template> <div class="login-container"> <h2>用户登录</h2> <form @submit.prevent="login"> <div> <label for="username">用户名:</label> <input id="username" v-model="loginForm.username" type="text" required> </div> <div> <label for="password">密码:</label> <input id="password" v-model="loginForm.password" type="password" required> </div> <button type="submit">登录</button> </form> <p v-if="errorMessage">{{ errorMessage }}</p> </div> </template> <script lang="ts"> import Vue from 'vue'; export default Vue.extend({ name: 'Login', data() { return { loginForm: { username: '', password: '' }, errorMessage: '' }; }, methods: { login() { // 这里仅为示例,实际项目中应调用后端API进行验证 if (this.loginForm.username !== 'admin' || this.loginForm.password !== '123456') { this.errorMessage = '用户名或密码错误'; } else { this.$router.push('/home'); // 假设登录成功后跳转到首页 this.errorMessage = ''; } } } }); </script> <style scoped> .login-container { max-width: 400px; margin: 50px auto; padding: 20px; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); } h2 { text-align: center; margin-bottom: 20px; } form div { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; } input[type="text"], input[type="password"] { width: 100%; padding: 8px; box-sizing: border-box; } button { width: 100%; padding: 10px; background-color: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; } button:hover { background-color: #45a049; } p { color: red; text-align: center; } </style> ``` #### 解析组件 - **模板部分** (`<template>`): 定义了一个包含用户名、密码输入框和提交按钮的表单。使用`v-model`指令实现数据的双向绑定,`@submit.prevent`阻止表单默认提交行为,转而调用`login`方法。 - **脚本部分** (`<script lang="ts">`): - 使用TypeScript定义了一个Vue组件,其中`data`函数返回了一个包含登录表单数据和错误信息的对象。 - `login`方法用于处理登录逻辑,这里仅为演示,实际项目中应调用后端API进行用户验证。 - **样式部分** (`<style scoped>`): 定义了组件的局部样式,确保样式只应用于当前组件。 #### 集成到Vue路由 为了使登录页面能够在应用中访问,你还需要配置Vue Router。假设你已经安装了Vue Router并在项目中进行了配置,接下来需要在`router/index.ts`(或`router/index.js`,取决于你的项目配置)中添加登录页面的路由: ```typescript import Vue from 'vue'; import Router from 'vue-router'; import Login from '@/components/Login.vue'; // 引入登录组件 Vue.use(Router); export default new Router({ routes: [ { path: '/', name: 'login', component: Login }, // 其他路由... ] }); ``` #### 测试登录功能 现在,你可以启动Vue开发服务器,并在浏览器中访问`http://localhost:8080/`(或你配置的其他端口),查看登录页面。尝试输入不同的用户名和密码,观察登录结果和错误信息是否正确显示。 #### 总结 通过构建这个简单的用户登录页面,我们不仅学会了如何在Vue项目中使用TypeScript定义组件,还实践了表单数据绑定、事件处理以及Vue Router的基本用法。这个范例为深入学习Vue和TypeScript的结合使用打下了坚实的基础。接下来,你可以进一步扩展这个登录功能,比如添加表单验证、使用Vuex管理状态等,以提升应用的复杂度和实用性。
上一篇:
1.5.1 第一个Vue应用
下一篇:
1.5.3 Vue 3的新特性
该分类下的相关小册推荐:
Vue面试指南
移动端开发指南
Vue.js从入门到精通(四)
Vue.js从入门到精通(三)
Vue原理与源码解析
Vue.js从入门到精通(一)
TypeScript和Vue从入门到精通(三)
TypeScript和Vue从入门到精通(五)
VUE组件基础与实战
TypeScript和Vue从入门到精通(四)
Vue3企业级项目实战
Vue3技术解密