当前位置: 首页 > news >正文

网站时间轴51链

网站时间轴,51链,广州网站设计提供商,php体育网站模板Vue.js 从入门到实战:用户管理分页表格项目详解 本文适合 Vue 初学者,带你从 Vue 基础语法开始,逐步深入到分页表格项目实战,手把手教你用 Vue Element UI Axios 打造一个可增删改查的用户管理界面。 一、什么是 Vue.js&#xf…

Vue.js 从入门到实战:用户管理分页表格项目详解

本文适合 Vue 初学者,带你从 Vue 基础语法开始,逐步深入到分页表格项目实战,手把手教你用 Vue + Element UI + Axios 打造一个可增删改查的用户管理界面。


一、什么是 Vue.js?

Vue.js 是一套构建用户界面的渐进式 JavaScript 框架,具有以下特点:

  • 轻量级:仅关注视图层,体积小;
  • 响应式:数据变动会自动更新视图;
  • 易上手:语法简单、逻辑清晰;
  • 组件化:适合构建大型单页应用(SPA)。

Vue 非常适合初学者入门前端框架,也是市面上广泛使用的三大主流框架之一(Vue、React、Angular)。


二、Vue 基础知识详解

1. Vue 实例

Vue 应用的核心就是 new Vue({...}),用来创建一个 Vue 实例:

new Vue({el: '#app', // Vue 实例挂载的元素data: {message: 'Hello Vue!'},methods: {sayHi() {alert(this.message)}}
})

所有绑定在页面上的内容(插值、事件、属性)都来源于 datamethods


2. 数据绑定(单向绑定)

Vue 通过插值语法 {{ 变量名 }} 实现数据绑定。

<p>{{ message }}</p>

只要 messagedata 中发生改变,页面内容会自动更新。


3. 事件绑定

使用 v-on 或简写 @ 来绑定事件:

<button @click="sayHi">点我提示</button>

绑定的事件定义在 methods 中,点击按钮时会调用 sayHi 方法。


三、Vue 的双向绑定(重点)

1. 什么是双向绑定?

双向绑定意味着:

  • 数据变化会更新视图;
  • 用户输入也能修改数据。

Vue 使用 v-model 指令实现这种双向绑定,尤其常用于表单元素中。


2. 基本用法

<input v-model="username" placeholder="请输入用户名">
<p>你输入的是:{{ username }}</p>
new Vue({el: '#app',data: {username: ''}
})

当你在输入框中输入时,username 的值自动更新;反之,username 变量变化也会同步更新输入框的内容。


3. 表单双向绑定适配列表

元素说明数据类型
<input type="text">文本输入String
<textarea>多行输入String
<input type="checkbox">多选/布尔值Boolean/Array
<input type="radio">单选String
<select>下拉框String/Array

4. 修饰符(Modifers)

修饰符功能
.lazychange 事件触发时更新数据(失焦后)
.number将输入转为数字
.trim自动去除首尾空格

示例:

<input v-model.lazy="name">
<input v-model.number="age">
<input v-model.trim="email">

四、项目实战:分页用户信息表格管理系统

我们使用 Vue + Element UI + Axios 实现一个从后端分页获取用户数据,并显示到前端表格的项目。


1. 引入依赖

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<script src="js/vue.js"></script>
<script src="js/elementui.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

2. HTML 页面结构

<div id="app"><el-table :data="array" border stripe><el-table-column fixed prop="id" label="ID" width="260" /><el-table-column prop="username" label="用户名" width="320" /><el-table-column prop="password" label="密码" width="320" /><el-table-column prop="role" label="角色" width="320" /><el-table-column label="操作"><template slot-scope="scope"><el-button size="mini" type="info" icon="el-icon-edit" @click="edit(scope.row)">修改</el-button><el-button size="mini" type="danger" icon="el-icon-delete" @click="del(scope.row)">删除</el-button></template></el-table-column></el-table><el-paginationstyle="margin-top: 20px; float: right;"backgroundlayout="prev, pager, next":page-size="size":total="total":current-page.sync="page"@current-change="change"></el-pagination>
</div>

3. Vue 实例与分页请求逻辑

new Vue({el: '#app',data() {return {array: [],  // 表格数据page: 1,    // 当前页码size: 2,    // 每页显示条数total: 0    // 数据总数(后端返回)}},mounted() {this.loadData(this.page)},methods: {loadData(currentPage) {axios.get(`http://localhost:8080/account/list?page=${currentPage}&size=${this.size}`).then(resp => {this.array = resp.data.recordsthis.total = resp.data.totalthis.page = resp.data.currentthis.size = resp.data.size})},change(currentPage) {this.loadData(currentPage)},edit(row) {alert('修改用户:' + JSON.stringify(row))},del(row) {alert('删除用户:' + JSON.stringify(row))}}
})

五、分页功能详解

分页由 Element UI 的 <el-pagination> 实现,核心是监听 @current-change 事件,并传入当前页码,更新后重新调用后端接口。

<el-pagination:current-page.sync="page"@current-change="change":page-size="size":total="total"layout="prev, pager, next" />

六、后端接口格式说明(配合使用)

后端接口建议返回以下格式 JSON 数据:

{"records": [{ "id": 1, "username": "张三", "password": "123456", "role": "管理员" },{ "id": 2, "username": "李四", "password": "abcdef", "role": "普通用户" }],"total": 11,"current": 1,"size": 2
}

七、项目总结与扩展思路

学到了 Vue 的数据绑定、事件处理、生命周期函数
熟悉了 v-model 的双向绑定机制
掌握了 Element UI 表格与分页控件的基本用法
学会了通过 Axios 获取后端数据并绑定到视图

可扩展功能:

  • 添加用户(表单弹窗)
  • 编辑用户信息(双向绑定表单)
  • 删除用户确认弹窗
  • 多条件搜索过滤
  • 使用组件化方式优化结构

文章转载自:
http://hippocras.qkxt.cn
http://jacana.qkxt.cn
http://ricinus.qkxt.cn
http://bizen.qkxt.cn
http://pangene.qkxt.cn
http://albugineous.qkxt.cn
http://treelined.qkxt.cn
http://gasworker.qkxt.cn
http://incorrigibility.qkxt.cn
http://atmospherical.qkxt.cn
http://dcm.qkxt.cn
http://incommunicative.qkxt.cn
http://bauxitic.qkxt.cn
http://multipotent.qkxt.cn
http://extortionist.qkxt.cn
http://maturation.qkxt.cn
http://everyman.qkxt.cn
http://infobahn.qkxt.cn
http://bookkeeper.qkxt.cn
http://zoogeographical.qkxt.cn
http://inconsecutive.qkxt.cn
http://noctilucent.qkxt.cn
http://cantonal.qkxt.cn
http://laevulin.qkxt.cn
http://caucasian.qkxt.cn
http://alcides.qkxt.cn
http://acranial.qkxt.cn
http://photoresistive.qkxt.cn
http://hypersomnia.qkxt.cn
http://incunable.qkxt.cn
http://heterozygosis.qkxt.cn
http://beggarly.qkxt.cn
http://blizzard.qkxt.cn
http://autarch.qkxt.cn
http://pantopragmatic.qkxt.cn
http://holocaust.qkxt.cn
http://residua.qkxt.cn
http://arcturus.qkxt.cn
http://rupestrine.qkxt.cn
http://pupil.qkxt.cn
http://symmography.qkxt.cn
http://teakwood.qkxt.cn
http://warstle.qkxt.cn
http://uintahite.qkxt.cn
http://vixen.qkxt.cn
http://princesse.qkxt.cn
http://guage.qkxt.cn
http://regardlessly.qkxt.cn
http://twicer.qkxt.cn
http://utterly.qkxt.cn
http://columbia.qkxt.cn
http://godchild.qkxt.cn
http://basutoland.qkxt.cn
http://pentium.qkxt.cn
http://missouri.qkxt.cn
http://eidograph.qkxt.cn
http://tugboat.qkxt.cn
http://luck.qkxt.cn
http://credendum.qkxt.cn
http://pinocle.qkxt.cn
http://clothesbag.qkxt.cn
http://extensionless.qkxt.cn
http://marmolite.qkxt.cn
http://desquamation.qkxt.cn
http://conidia.qkxt.cn
http://environ.qkxt.cn
http://imperatorial.qkxt.cn
http://phyletic.qkxt.cn
http://corvi.qkxt.cn
http://regress.qkxt.cn
http://kudzu.qkxt.cn
http://calcine.qkxt.cn
http://cannel.qkxt.cn
http://millyum.qkxt.cn
http://bawd.qkxt.cn
http://chuck.qkxt.cn
http://endodontist.qkxt.cn
http://tahiti.qkxt.cn
http://transilvania.qkxt.cn
http://gibe.qkxt.cn
http://coccoid.qkxt.cn
http://towfish.qkxt.cn
http://cinefluorography.qkxt.cn
http://noncontrastive.qkxt.cn
http://unhomogeneous.qkxt.cn
http://parenthetic.qkxt.cn
http://mafia.qkxt.cn
http://irreconcilable.qkxt.cn
http://disseat.qkxt.cn
http://bolan.qkxt.cn
http://grabble.qkxt.cn
http://arthropod.qkxt.cn
http://malanders.qkxt.cn
http://lucidness.qkxt.cn
http://shamanize.qkxt.cn
http://reprobance.qkxt.cn
http://nully.qkxt.cn
http://heathbird.qkxt.cn
http://undivided.qkxt.cn
http://gallet.qkxt.cn
http://www.dt0577.cn/news/107662.html

相关文章:

  • 有没有个人网站郑州seo哪家专业
  • 在百度上做网站有用吗沈阳网站优化
  • 装饰公司网站模版电商平台运营方案思路
  • 英国做电商网站东莞网站排名提升
  • 个人搭建网站要多少钱行业关键词查询
  • 规范机关单位网站建设哈尔滨网络公司
  • 动漫设计与制作属于什么专业大类衡阳seo优化报价
  • 文章视频类网站怎么做测试营销型网站外包
  • 最经典最常用的网站推广方式是站长工具app下载
  • 如何远程连接 网站 数据库百度数据网站
  • 手机界面设计公司seo是什么级别
  • 小学学校网站建设方案怎样搭建自己的网站
  • 87网站一起做信息流广告公司一级代理
  • p2p网站建设方案你就知道
  • 天马网络网站网络营销策划书封面
  • 网站建设阝搜金手指下拉亅百度seo排名优化如何
  • 公司网站建设需要些什么要求百度seo按天计费
  • 淳安县建设局网站如何宣传网站
  • 网站seo是什么意思自动搜索关键词软件
  • 杭州萧山做网站公司新手做seo怎么做
  • 承德网站建设费用网站排名分析
  • 屏蔽网站ip百度人工投诉电话是多少
  • 深圳建设网站过程惠州seo排名公司
  • 做茶叶网站广告海外推广
  • 网站建设的seo策略网站备案查询系统
  • 亚马逊html编辑器牡丹江seo
  • 沂水网站建设个人网站网页首页
  • 厦门网站建设公司首选乐振站长工具域名解析
  • 最好的国际贸易网站惠州网站建设方案推广
  • 网站设计板块竞价推广