精华内容
下载资源
问答
  • vue代码案例

    2018-09-01 12:23:38
    vue的基础入门,包含vue的基本方法和函数。数据绑定这个案例实现的特别好。
  • Vue2.xDay07学习相关代码_vue案例 CSS文件有问题
  • vue 跑马灯案例代码

    2019-03-02 13:55:59
    关于vue实例中跑马灯效果的代码 用vs code打开,可以帮助你理解vue中定时器等相关概念
  • 这个小小的例子是我们入门vue的入门基础 ,同志们可以去学习了解
  • 引言:因笔者在项目中只用到了柱状图,此处仅分享柱状图的案例代码,使用的是vue-echarts,涉及到数据请求,柱状图渲染,简化的鼠标经过显示数据内容,以及鼠标点击柱形图某个柱子的事件代码。 正文: 1、安装vue-...
  • Vue基础案例代码与总结 代码 案例要求图 index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ...

    Vue基础案例的代码与总结

    代码

    案例要求图

    在这里插入图片描述

    index.html

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>购物车案例</title>
        <link rel="stylesheet" href="demo.css">
    
    </head>
    
    <body>
        <div id="app">
            <div v-if='books.length'>
                <table>
                    <thead>
                        <tr>
                            <th></th>
                            <th>书籍名称</th>
                            <th>出版日期</th>
                            <th>价格</th>
                            <th>购买数量</th>
                            <th>操作</th>
                        </tr>
                    </thead>
                    <tbody>
                        <!-- 接下来的五行列表如果一一写出来的话,就拿太繁琐了,可用遍历把数据一一写进去 -->
                        <tr v-for="(item,index) in books">
                            <td>{{item.id}}</td>
                            <td>{{item.name}}</td>
                            <td>{{item.date}}</td>
                            <td>{{item.price}}</td>
                            <td>
                                <!-- 用v-on事件,但是数量点击会减到负数,要用v-bind事件 -->
                                <button @click="decrement(index)" v-bind:disabled="item.count <=1">-</button> {{item.count}}
                                <button @click="increment(index)">+</button>
                            </td>
                            <td>
                                <button @click="removeHandle(index)">移除</button>
                            </td>
                        </tr>
                    </tbody>
                </table>
                <h2>总价格:{{totalPrice|showPrice}}</h2>
            </div>
            <h2 v-else>购物车为空</h2>
    
    
        </div>
    
    
        <script src="vue.js"></script>
        <script src="main.js"></script>
    
    </body>
    
    </html>
    

    demo.css

    table {
        border: 1px solid #e9e9e9;
        border-collapse: collapse;
        border-spacing: 0;
    }
    
    th,
    td {
        padding: 8px 16px;
        border: 1px solid #e9e9e9;
        text-align: left;
    }
    
    th {
        background-color: #f7f7f7;
        color: #5c6b77;
        font-weight: 600;
    }
    

    main.js

    const app = new Vue({
        el: '#app',
        data: {
            // 用一个数组将原先的数据全部存进去
            books: [{
                    id: 1,
                    name: '<<算法导论>>',
                    date: '2006-9',
                    price: 85.00,
                    count: 1
                },
                {
                    id: 2,
                    name: '<<UNIX编程艺术>>',
                    date: '2006-9',
                    price: 85.00,
                    count: 1
                },
                {
                    id: 3,
                    name: '<<编程珠玑>>',
                    date: '2006-9',
                    price: 85.00,
                    count: 1
                },
                {
                    id: 4,
                    name: '<<代码大全>>',
                    date: '2006-9',
                    price: 85.00,
                    count: 1
                }
            ]
        },
        //第一步的样式已经就写好了,接下来就是添加一些方法实现页面的交互功能
        methods: {
            increment(index) {
                this.books[index].count++
            },
            decrement(index) {
                this.books[index].count--
            },
            removeHandle(index) {
                this.books.splice(index, 1)
            }
        },
        computed: {
    
            totalPrice() {
                let totalPrice = 0
                for (let i = 0; i < this.books.length; i++) {
                    totalPrice += this.books[i].price * this.books[i].count
                }
                return totalPrice;
            }
        },
        filters: {
            showPrice(price) {
                return '¥' + price.toFixed(2)
            }
        }
    
    
    
    
    
    })
    

    总结

    ​ 首先Vue框架是极其好用和简洁的,可把一个页面分离成两大部分,一个为视图(也可理解在HTML便签的展示),还有一个为操作。视图与操作分离,视图在HTML文件中,操作在js文件中。

    ​ 视图与操作联系的方式在于Vue提供的各种指令,只要在HTML标签中添加各种指令就可以建起联系,建立完联系之后,Vue的对象实例中

    在这里插入图片描述

    即可将元素挂载起来(相当于替你管理元素)。

    ​ 而Vue实例中的操作还有许多的属性和方法可用于管理HTML标签。date: methods: computed: filters: 等等

    代码分析

    1.遍历

    ​ tbody有好几行,而真实案例的购物车是不可能将一个个对象输入进去的,这时候就要用遍历,将数据渲染到页面中

     <tr v-for="(item,index) in books">
    

    ​ item遍历的是books数组中的对象,有多少对象就拿多少个。

    ​ index就是获取数组元素的下标元素(这个很好用,在之后的各个代码中都有用到)。

     methods: {
            increment(index) {
                this.books[index].count++
            },
            decrement(index) {
                this.books[index].count--
            },
            removeHandle(index) {
                this.books.splice(index, 1)
            }
        },
    

    2.事件

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J9n53Xwq-1591688685194)(E:\桌面、下载文件、文档和音乐等等\桌面\案例\4.png)]

    这里的@click的事件指令就绑定了,然后就在Vue的实例中的methods方法写函数:

     methods: {
            increment(index) {
                this.books[index].count++
            },
            decrement(index) {
                this.books[index].count--
            },
            removeHandle(index) {
                this.books.splice(index, 1)
            }
        },
    

    3.计算属性

    通常将一些需要计算的函数放在计算机中便于管理:

     computed: {
            totalPrice() {
                let totalPrice = 0
                for (let i = 0; i < this.books.length; i++) {
                    totalPrice += this.books[i].price * this.books[i].count
                }
                return totalPrice;
            }
        },
    

    4.过滤器

     filters: {
            showPrice(price) {
                return '¥' + price.toFixed(2)
            }
        }
    

    过滤器不是很熟悉,以后经常用一下应该还好。

    5.参数

    我觉得参数问题还是比较灵活和难的

    在这里插入图片描述
    就好比上面遍历后的index作为参数放在decrement(index),传送到

    methods: {
    increment(index) {
                this.books[index].count++
            },
    

    中,在methods中的函数increment(index)函数接受了index的值。就可实现按钮的加加减减

    那请问为啥会知道index的值呢???

    比较灵活和难的

    [外链图片转存中…(img-TdfdrbZ3-1591688685199)]

    就好比上面遍历后的index作为参数放在decrement(index),传送到

    methods: {
    increment(index) {
                this.books[index].count++
            },
    

    中,在methods中的函数increment(index)函数接受了index的值。就可实现按钮的加加减减

    那请问为啥会知道index的值呢???

    答:遍历的时候已经将books数组的对象index值存储起来了,不仅仅是index,还有好多属性都以伪数组的形式存储起来。

    展开全文
  • Vue案例——TodoList

    2020-02-17 18:52:53
    Vue案例——TodoList vue TodoList案例 这个案例主要实现了添加、列表的显示、正在进行、已完成、localstorage本地保存、事项数量的更新、还有清空所有等功能。 代码部分如下: HTML部分: <div id="app" v-...

    Vue案例——TodoList

    vue TodoList案例
    这个案例主要实现了添加、列表的显示、正在进行、已完成、localstorage本地保存、事项数量的更新、还有清空所有等功能。

    http://www.todolist.cn/

    代码部分如下:
    HTML部分:

    <div id="app" v-cloak>
           <header class="header">
               <section>
                   <form action="javascript:postaction()" id="form">
                        <label for="title">TodoList</label>
                        <input type="text" id="title" name="title" autocomplete="off" placeholder="添加ToDo" v-model="title" @keyup.enter="add()">
                   </form>
               </section>
           </header>
           <main>
            <section>
                   <h2 style="color:crimson ;">正在进行<span>{{this.list.length-this.num()}}</span></h2>
                   <ol id="todolist" class="">
                       <li v-for="(item,key) in list" :key="key" v-show="!item.flag">
                            <input type="checkbox" v-model="item.flag" >
                            <p @click="change(key)">
                                <span v-show="!item.show">{{item.title}}</span>
                                <input type="text" v-model="item.title" v-show="item.show"  @blur="savelist(key)">
                            </p>
                            <a  @click="cancel()">X</a>
                       </li>
                   </ol>
                   <h2 style="color: lime;">已完成<span>{{this.num()}}</span></h2>
                   <ul>
                        <li v-for="(item,key) in list" :key="key" v-show="item.flag">
                            <input type="checkbox" v-model="item.flag" >
                            <p @click="change(key)">
                                <span v-show="!item.show">{{item.title}}</span>
                                <input type="text" v-model="item.title" v-show="item.show"  @blur="savelist(key)">
                            </p>
                            <a  @click="cancel()">X</a>
                            <!--删除功能 -->
                        </li>
                   </ul>
            </section>
            </main>
            <footer class="footer">
                Copyright © 2020 todolist.cn 
                <a href="javascript:DeleteAll()" @click="DeleteAll()">clear</a>
                <!--清空列表 -->
            </footer>
        </div>
    

    CSS部分:

    	<style>
            * {
                margin: 0px;
                padding: 0px;
                list-style: none;
            }
            body {
                font-size: 16px;
                background: darkgray;
            }
            div[v-cloak]{
                display: none;
            }
            /* 头部开始 */
            .header{
                height: 50px;
                background-color: #333;
                background: rgba(47,47,47,0.98);
            }
            section {
                margin: 0 auto;
            }
            section {
                width: 600px;
                padding: 0 10px;
                
            }
            label{
                float: left;
                width: 100px;
                line-height: 50px;
                color: #ddd;
                font-size: 23px;
                cursor: pointer;
            }
            header>section form>input{
                float:right;
                width: 60%;
                height: 25px;
                margin-top: 12px;
                border-radius: 5px;
                text-indent: 10px;
                border: none;
                outline: none;
            }
            .section{
                margin-top: 30px;
            }
            /* 头部结束 */
            /* ================== */
            /* 身体部分 */
            h2{
                position: relative;
            }
            h2:nth-of-type(2) {
                margin-top: 20px;;
            }
            li>input {
                position: absolute;
                top: 6px;
                left: 10px;
                width: 22px;
                height: 22px;
                cursor: pointer;
            }
            li {
                height: 33px;
                line-height: 33px;    
                background-color: #fff;
                position: relative;
                padding: 0 45px;
                margin-bottom: 10px;
                border-left: 5px solid lawngreen;
                margin-top: 20px;;
            }
            li p input {
                top: 3px;
                left: 40px;
                width: 70%;
                height: 20px;
                line-height: 14px;
                text-indent: 6px;
                font-size: 15px;
            }
            li a {
                position: absolute;
                top: 2px;
                right: 5px;
                display: inline-block;
                width: 14px;
                height: 12px;
                border-radius: 14px;
                border: 6px double #FFF;
                background: #CCC;
                line-height: 14px;
                text-align: center;
                color: #FFF;
                font-weight: bold;
                font-size: 15px;
                cursor: pointer;
            }
            h2 span {
                position: absolute;
                top: 2px;
                right: 5px;
                display: inline-block;
                padding: 0 5px;
                height: 20px;
                border-radius: 20px;
                background: #E6E6FA;
                line-height: 22px;
                text-align: center;
                color: #666;
                font-size: 15px;
            }
             /* 身体部分  */
            /* ============== */
            /* ============== */
            /* 尾部 */
            .footer {
                color: #666;
                font-size: 14px;
                text-align: center;
                margin-top: 30px;
            }
        </style>
    

    JS部分:

    	<!--我这里是用的线上引用地址  -->
    	<script src="http://www.jq22.com/jquery/vue.min.js"></script>
    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                title:"",
                list:JSON.parse(localStorage.getItem("to")) || []
            },
            methods: {
                //出发回车键盘按钮的时候进行添加
               add() {
                   if(this.title=="") return false;
                   this.list.push({title:this.title,flag:false,show:false});
                   localStorage.setItem("to",JSON.stringify(this.list))
                   this.title = "";
               },
               change(key){
                   for(var i in this.list) {
                    this.list[i].show = false;
                   }
                   this.list[key].show = true;
               },
               //当鼠标失去焦点的时候、
               savelist(key) {
                    this.list[key].show = false;
               },
               //删除每条信息
               cancel(e) {
                    this.list.splice(e,1);
                    localStorage.setItem("to",JSON.stringify(this.list));
               },
            //    判断状态中的个数
               num(){
                   let count = 0 ;
                   this.list.forEach(e => {
                        if(e.flag == true) {
                            count++;
                        }
                   });
                   return count;
                    localStorage.setItem("to",JSON.stringify(this.list));
                },
                //清空数组
                DeleteAll(){
                    this.list =[];
                    localStorage.setItem("to",JSON.stringify(this.list));
                }
            },
        })
    </script>
    

    案例来自TodoList官网,小编呢就按照官网上给的功能用自己的方法写了一遍,网址:http://www.todolist.cn/

    展开全文
  • Vue axios入门语法及案例代码 1.请求方法介绍 axios(config) axios.get(url, [config]) axios.post(url, [data], [config]) axios.delete(url, [config]) axios.head(url, [config]) axios.put(url, [data], ...

    Vue axios入门语法及案例代码

    1.请求方法介绍

    • axios(config)
    • axios.get(url, [config])
    • axios.post(url, [data], [config])
    • axios.delete(url, [config])
    • axios.head(url, [config])
    • axios.put(url, [data], [config])
    • axios.patch(url, [data], [config])

    2.config配置对象

    这些是创建请求时可以用的配置选项。只有 url 是必需的。如果没有指定 method,请求将默认使用 get 方法。

    {
        // `url` 是用于请求的服务器 URL
        url: '/user',
        // `method` 是创建请求时使用的方法
        method: 'get',
        // 默认是 get
        // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
        // 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
        baseURL: 'https://some-domain.com/api/',
        // `headers` 是即将被发送的自定义请求头
        headers: {'X-Requested-With':'XMLHttpRequest', 'Content-Type': 'application/json'},
        // `params` 是即将与请求一起发送的 URL 参数,一般用于GET请求
        // 必须是一个无格式对象(plain object)或 URLSearchParams 对象
        params: { id: 12345 },
        // `data` 是作为请求主体被发送的数据
        // 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
        data: { firstName: 'Fred'},
        // `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
        // 如果请求话费了超过 `timeout` 的时间,请求将被中断
        timeout: 1000,
        // `withCredentials` 表示跨域请求时是否需要使用凭证
        withCredentials: false, // 默认的
        // 'responseType' 表示服务器响应的数据类型,可以是
        // 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream'
        responseType: 'json', // 默认的
        // 'responseEncoding' 响应的数据默认编码
        responseEncoding: 'utf8' // default
    }
    

    3.response响应对象

    {
        // `data` 由服务器提供的响应
        data: {},
        // `status` 来自服务器响应的 HTTP 状态码
        status: 200,
        // `statusText` 来自服务器响应的 HTTP 状态信息
        statusText: 'OK',
        // `headers` 服务器响应的头
        headers: {},
        // `config` 是为请求提供的配置信息
        config: {}
    }
    

    4.axios.get方法

    // 第一种方式
    axios.get('/user?id=12345')
         .then(function (response) { // 请求成功
            // handle success
            console.log(response);
         })
         .catch(function (error) { // 请求出错
            // handle error
            console.log(error);
         });
    
    // 第二种方式
    axios.get('/user',{params : {id : 12345}})
         .then(function (response) {  // 请求成功
            // handle success
            console.log(response);
         })
         .catch(function (error) { // 请求出错
            // handle error
            console.log(error);
         });
    

    5.axios.post方法

    axios.post('/user', {
           id: 1,
           name: '小华华'
      })
      .then(function (response) { // 请求成功
          console.log(response);
      })
      .catch(function (error) { // 请求出错
          console.log(error);
      });
    

    6.axios方法

    axios({
        method: 'post',
        url: '/user/12345',
      	data: {
        	id: 1,
        	name: '中华华'
      	}
      })
      .then(function (response) { // 请求成功
          console.log(response);
      })
      .catch(function (error) { // 请求出错
          console.log(error);
      });
    

    7.axios-GET请求:查询全部用户

    • 第一步: 在springboot-high工程中整合vue与axios,拷贝资料中static文件夹。
      在这里插入图片描述

    • 第二步: 创建Vue实例
      在这里插入图片描述

    • 第三步: 发送异步请求查询用户数据
      在这里插入图片描述

    • 第四步: v-for迭代数组,显示用户信息
      在这里插入图片描述

    在这里插入图片描述

    • 第五步: 配置jackson格式化日期属性(JacksonProperties.java) application.yml
    # 配置jackson
    spring:
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss # 日期格式器
        timeZone: GMT+8 # 时区(格林威冶标准时间 Greenwich Mean Time) + 8 东区北京时间
    

    在这里插入图片描述

    8.axios:发送post请求案例

    操作步骤

    • 第一步: 在addUser.html页面,引入js文件

      <script src="js/vue.js"></script>
      <script src="js/axios.js"></script>
      
    • 第二步: 表单数据绑定

      <div style="text-align: center">
          <span>用户名: <input type="text" v-model="user.userName"/> </span><br/>
          <span>密码: <input type="password" v-model="user.password"/></span><br/>
          <span>姓名: <input type="text" v-model="user.name"/></span><br/>
          <span>年龄: <input type="text" v-model="user.age"/></span><br/>
          <span>性别: <input type="radio" value="1" v-model="user.sex" checked/><input type="radio" value="2" v-model="user.sex"></span><br/>
          <span>生日: <input type="text" v-model="user.birthday"/></span><br/>
          <span>备注: <input type="text" v-model="user.note"></span><br/>
          <input type="button" value="添加" @click="save()"/><br/>
          {{user}}
      </div>
      
    • 第三步: 定义异步请求方法

      // 文档加载完
      window.onload = function () {
          // 创建Vue实例
          var vue = new Vue({
              el : '#app', // 指定渲染的html元素
              data : {  // 数据对象
                  user : {sex : 1}
              },
              methods : { // 操作方法
                  // 添加用户
                  save (){
                      // 发送异步请求
                      axios.post("/save", this.user).then((response) => {
                          if (response.data){
                              alert("添加成功!");
                          }else {
                              alert("添加失败!");
                          }
                      }).catch((error) => {
                          console.log(error)
                      });
                  }
              }
          });
      };
      
      • 第四步: 在UserController.java,新增保存用户方法
        在这里插入图片描述

    说明: 由于axios.post()方法,向后台发送的请求参数是json对象,后台必须用@RequestBody注解来接收,jackson会把json对象转化成User对象。

    // 添加用户
    @PostMapping("/save")
    public boolean save(@RequestBody User user){
        try {
            userService.save(user);
            return true;
        }catch (Exception ex){
            ex.printStackTrace();
        }
        return false;
    }
    
    • 第五步: 在UserService.java,新增保存用户方法
    // 添加用户
    public void save(User user) {
        try{
            user.setCreated(new Date());
            user.setUpdated(user.getCreated());
            userMapper.insert(user);
        }catch (Exception ex){
            throw new RuntimeException(ex);
        }
    }
    

    后台报错的原因是因为 birthday生日字符串 解析成 Date日期对象 出错:

    Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.Date` from String "1999-01-01": not a valid representation (error: Failed to parse Date value '1999-01-01': Unparseable date: "1999-01-01"); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.util.Date` from String "1999-01-01": not a valid representation (error: Failed to parse Date value '1999-01-01': Unparseable date: "1999-01-01")
     at [Source: (PushbackInputStream); line: 1, column: 87] (through reference chain: cn.itcast.springboot.pojo.User["birthday"])]
    

    我们配置了全局的jackson日期格式器,但跟生日的日期格式器不对应:
    在这里插入图片描述

    • 第六步: 单独为生日指定日期格式器(User.java)
      在这里插入图片描述

    • 第七步: 测试
      在这里插入图片描述

    附:数据库sql

    /*
     Navicat Premium Data Transfer
    
     Source Server         : local
     Source Server Type    : MySQL
     Source Server Version : 50723
     Source Host           : localhost:3306
     Source Schema         : yun6
    
     Target Server Type    : MySQL
     Target Server Version : 50723
     File Encoding         : 65001
    
     Date: 08/09/2018 16:33:40
    */
    
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for tb_user
    -- ----------------------------
    DROP TABLE IF EXISTS `tb_user`;
    CREATE TABLE `tb_user` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `user_name` varchar(100) DEFAULT NULL COMMENT '用户名',
      `password` varchar(100) DEFAULT NULL COMMENT '密码',
      `name` varchar(100) DEFAULT NULL COMMENT '姓名',
      `age` int(10) DEFAULT NULL COMMENT '年龄',
      `sex` tinyint(1) DEFAULT NULL COMMENT '性别,1男性,2女性',
      `birthday` date DEFAULT NULL COMMENT '出生日期',
      `note` varchar(255) DEFAULT NULL COMMENT '备注',
      `created` datetime DEFAULT NULL COMMENT '创建时间',
      `updated` datetime DEFAULT NULL COMMENT '更新时间',
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`user_name`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
    
    -- ----------------------------
    -- Records of tb_user
    -- ----------------------------
    BEGIN;
    INSERT INTO `tb_user` VALUES (1, 'zhangsan', '123456', '张三', 30, 1, '1964-08-08', '张三同学在学Java', '2014-09-19 16:56:04', '2014-09-21 11:24:59');
    INSERT INTO `tb_user` VALUES (2, 'lisi', '123456', '李四', 21, 2, '1995-01-01', '李四同学在传智学Java', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
    INSERT INTO `tb_user` VALUES (3, 'wangwu', '123456', '王五', 22, 2, '1994-01-01', '王五同学在学php', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
    INSERT INTO `tb_user` VALUES (4, 'zhangwei', '123456', '张伟', 20, 1, '1996-09-01', '张伟同学在传智播客学Java', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
    INSERT INTO `tb_user` VALUES (5, 'lina', '123456', '李娜', 28, 1, '1988-01-01', '李娜同学在传智播客学Java', '2014-09-19 16:56:04', '2014-09-19 16:56:04');
    INSERT INTO `tb_user` VALUES (6, 'lilei', '123456', '李磊', 23, 1, '1993-08-08', '李磊同学在传智播客学Java', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (7, 'hanmeimei', '123456', '韩梅梅', 24, 2, '1992-08-08', '韩梅梅同学在传智播客学php', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (8, 'liuyan', '123456', '柳岩', 21, 2, '1995-08-08', '柳岩同学在传智播客学表演', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (9, 'liuyifei', '123456', '刘亦菲', 18, 2, '1998-08-08', '刘亦菲同学在传智播客学唱歌', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (10, 'fanbingbing', '123456', '范冰冰', 25, 2, '1991-08-08', '范冰冰同学在传智播客学表演', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (11, 'zhengshuang', '123456', '郑爽', 23, 2, '1993-08-08', '郑爽同学在传智播客学习如何装纯', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    INSERT INTO `tb_user` VALUES (12, 'tangyan', '123456', '唐嫣', 26, 2, '1990-08-08', '郑爽同学在传智播客学习如何耍酷', '2014-09-20 11:41:15', '2014-09-20 11:41:15');
    COMMIT;
    
    SET FOREIGN_KEY_CHECKS = 1;
    
    

    Memorial Day is 509 days
    I miss you
    xiaokeai

    展开全文
  • // 引入json文件测试 const data = require('./data.json'); //引入路径模块 const path = require('path'); //引入操作文件模块 const fs = require('fs'); // 自动生成图书编号(自增) let maxBookCode = () =&...
  • 节约大家时间,直接上开源地址 前端:https://github.com/ranmaxli/vue-login 后台:... 1、安装Vue脚手架 ...npm install -g vue-cli ...2、创建Vue项目 ...vue init webpack ...4、编写Vue代码 代码...

    节约大家时间,直接上开源地址


    前端:https://github.com/ranmaxli/vue-login

    后台:https://github.com/ranmaxli/springboot-login  (如果自己有服务就调用自己的登录接口)

     

    1、安装Vue脚手架

    npm install -g vue-cli 

     

    2、创建Vue项目

    vue init webpack

     

    3、后台登录服务接口


    如果自己有服务端就调用自己的登录接口

     

    4、编写Vue代码


    代码已经上github开源
     

    展开全文
  • VUE案例消扑克.zip

    2020-05-10 13:56:56
    对应我的博客,VUE案例。扑克消消乐。完整实现代码。 对应学习可以先下载我的上传的模板
  • Vue 案例练习

    2020-03-26 14:30:50
    项目前导 学习笔记 ... 给大家介绍一个 web 页面样式的网站,直接复制它的代码可以更方便的开发。         Bootstrap 官网:https://www.bootcss.com/         该...
  • vue代码注释 vue源码分析(2.1.7) 项目介绍 为了更好的在公司内部使用vue技术栈,我们尝试自己本地维护vue技术栈用到的核心库,...├── examples ------------------------------ 存放一些使用Vue开发的应用案例
  • vue案例】vue实现tab选项卡

    千次阅读 2020-11-01 08:08:54
    文章目录vue实现tab选项卡一、效果图展示二、静态页面结构csshtmljavascript三、vue实现1、将静态结构和样式重构为基于vue模板语法的形式vue实现ul标签渲染2、处理事件绑定和js控制逻辑vue实现点击切换四、完整代码 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,893
精华内容 757
关键字:

vue案例代码

vue 订阅