Vue一个简单dome

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>信息统计</title>
    <link rel="stylesheet" href="bootstrap.min.css"/>
    <script src="jquery-1.7.2.js"></script>
    <script src="bootstrap.js"></script>
    <script src="vue2018.js"></script>

    <script>
        window.onload = function () {
            new Vue({
                el: '#box',
                data: {
                    myData: [],
                    username: '',
                    age: '',
                    nowIndex:-100
                },
                methods: {
                    add: function () {
                        this.myData.push({
                            name: this.username,
                            age: this.age
                        });

                        this.username='';
                        this.age='';
                    },
                    deleteMag:function(n){
                        if(n==-2){
                            this.myData=[];
                        }else{
                            this.myData.splice(n,1);
                        }
                    }
                }
            });
        };
    </script>
</head>
<body>
<div class="container" id="box">
    <form role="form">
        <div class="form-group">
            <label for="username">用户名:</label>
            <input type="text" id="username" class="form-control" placeholder="输入用户名" v-model="username">
        </div>
        <div class="form-group">
            <label for="age">年 龄:</label>
            <input type="text" id="age" class="form-control" placeholder="输入年龄" v-model="age">
        </div>
        <div class="form-group">
            <input type="button" value="添加" class="btn btn-primary " @click="add()">
            <input type="reset" value="重置" class="btn btn-danger">
        </div>
    </form>
    <hr>
    <table class="table table-bordered table-hover">
        <caption class="h3 text-info">用户信息表</caption>
        <tr class="text-danger">
            <th class="text-center">序号</th>
            <th class="text-center">名字</th>
            <th class="text-center">年龄</th>
            <th class="text-center">操作</th>
        </tr>
        <tr class="text-center" v-for="(item,index) in myData">
            <td>{{index+1}}</td>
            <td>{{item.name}}</td>
            <td>{{item.age}}</td>
            <td>
                <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#layer" @click="nowIndex=index">删除</button>
            </td>
        </tr>
        <tr v-show="myData.length!=0">
            <td colspan="4" class="text-right">
                <button class="btn btn-danger btn-sm" @click="nowIndex=-2" data-toggle="modal" data-target="#layer">删除全部</button>
            </td>
        </tr>
        <tr v-show="myData.length==0">
            <td colspan="4" class="text-center text-muted">
                <p>暂无数据...</p>
            </td>
        </tr>
    </table>

    <!--模态框 动态弹出框-->
    <div role="dialog" class="modal fade bs-example-modal-sm" id="layer" >
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button class="close" data-dismiss="modal">
                        <span>×</span>
                    </button>
                    <h4 class="modal-title">确认删除吗?</h4>
                </div>
                <div class="modal-body text-right">
                    <button class="btn btn-primary btn-sm" data-dismiss="modal">取消</button>
                    <button class="btn btn-danger btn-sm" data-dismiss="modal" @click="deleteMag(nowIndex)">确认</button>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>

### Vue 示例项目与官方文档 #### 初始化 Vue3 项目 通过 Vue 官方脚手架可以快速创建一个新的 Vue3 项目。具体操作可以通过命令行工具 `npm` 来完成安装和初始化工作[^1]。 ```bash npm install -g @vue/cli vue create my-vue3-project ``` 上述命令会引导用户选择 Vue 版本以及所需的特性插件,最终生成一个完整的项目结构。 --- #### 创建并配置 Vue 组件 在一个标准的 Vue 项目中,通常会在 `src/components/views` 路径下定义视图组件,并通过路由模块将其挂载到应用中[^2]。 以下是创建一个简单组件的具体实现: ##### 步骤说明 1. **新建组件文件** 在 `views` 文件夹下新增名为 `First.vue` 的文件。 2. **编写模板代码** 使用 `<template>` 标签来描述 HTML 结构;利用 `<script>` 部分处理逻辑交互功能;最后借助 `<style>` 块设置样式规则。 ```vue <!-- First.vue --> <template> <div class="first-component"> <h1>欢迎来到我的第一个 Vue 组件</h1> <button @click="handleClick">点击我</button> </div> </template> <script> export default { name: 'FirstComponent', methods: { handleClick() { alert('按钮被点击了!'); } } }; </script> <style scoped> .first-component { text-align: center; margin-top: 50px; } button { padding: 10px 20px; font-size: 16px; cursor: pointer; } </style> ``` 3. **配置路由映射** 打开位于 `src/router/index.js` 中的路由配置文件,在其中加入新页面对应的路径信息。 ```javascript import { createRouter, createWebHistory } from 'vue-router'; import First from '../components/views/First.vue'; const routes = [ { path: '/first', component: First }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router; ``` 4. **启动本地服务** 运行以下指令开启开发服务器,默认地址为 `http://localhost:8010/#/first` 访问刚才编写的界面效果。 ```bash npm run serve ``` --- #### Ant Design UI 库集成案例 为了增强用户体验,许多开发者会选择第三方库如 antd (Ant Design of Vue),它提供了丰富的预设组件供调用[^3]。 下面展示如何局部加载 Layout 模块作为布局框架的一部分: ```vue <template> <a-layout> <a-header style="background-color: white; padding-left: 20px;"> 头部区域 </a-header> <a-content style="padding: 24px; min-height: 280px;"> 主体内容部分 </a-content> <a-footer style="text-align: center;">底部版权信息 ©2023</a-footer> </a-layout> </template> <script> import { defineComponent } from 'vue'; import { Layout as ALayout, Header as AHeader, Content as AContent, Footer as AFoot } from 'ant-design-vue'; export default defineComponent({ components: { ALayout, AHeader, AContent, AFoot, }, }); </script> ``` 此片段展示了如何将 antd 的 layout 构建嵌入至单个 vue 页面之中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值