2022-8-27 vue 第一天

什么是vue?

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。
它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。
无论是简单还是复杂的界面,Vue 都可以胜任。
创建实例,插值表达式

2022-8-27 vue 第一天

获取数组中的对象

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="app">
            <h1>{{user.msg}} --- {{user.name}} --- {{user.password}}</h1>
            <h1>{{lists[0]}}---{{lists[3]}}---{{lists[4]}}</h1>
            <h1>{{users[0].name}} --- {{users[0].age}}</h1>
        </div>

        <script src="js/vue.js"></script>
        <script>
            const app = new Vue({

                el: "#app",
                data: {
                    user: {
                        msg:"hello Vue",
                        name :"admin",
                        password: "123456",
                    },
                    lists: ["北京","上海","广州","深圳","杭州"],
                    users: [{name:"小强",age:25},{name:"小红",age:18}]
                },
            });

        </script>
    </body>
</html>

mothods: 中定义方法 , v-on:click @click 两种方法定义单击事件

<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="app">
            <h1>&#x5E74;&#x9F84;&#xFF1A;{{age}}</h1>
            <input type="button" value="&#x901A;&#x8FC7;Vue&#x7684;&#x4E8B;&#x4EF6;&#x6539;&#x53D8;&#x5E74;&#x9F84;&#x6BCF;&#x6B21;+1" v-on:click="addage">
            <input type="button" value="&#x901A;&#x8FC7;Vue&#x7684;&#x4E8B;&#x4EF6;&#x6539;&#x53D8;&#x5E74;&#x9F84;&#x6BCF;&#x6B21;-1" @click="subage">
        </div>

        <script src="js/vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg:"hello Vue",
                    age: 23,
                },
                methods: {
                    addage: function() {
                        // 想办法拿到data中的age属性,让它自增
                        // this代表的是整个的vue实例
                        this.age ++;
                    },
                    subage() {
                        this.age --;
                    }
                }
            });

        </script>
    </body>
</html>

2022-8-27 vue 第一天

2022-8-27 vue 第一天

v-for

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="app">
            <!-- v-for -->
            <!--
                v-for写在哪一个标签中,就会生成多个对应的标签

                注意:
                    在使用v-for的时候,一定要加入:key,用来给vue内部提供重用和排序的唯一的值

             -->
            <span v-for="(value,key,index) in user">
                {{index}} --- {{key}} --- {{value}}
            </span>
            <ul>
                <li v-for="(value,index) in lists">
                    {{index}} --- {{value}}
                </li>
            </ul>
            <ol>
                <li v-for="(u,index) in users" :key="u.id">
                    {{index}} --- {{u.name}} --- {{u.age}}
                </li>
            </ol>
            <!-- <ol>
                <li v-for="(value,key,index) in ((user) in users)">
                    {{index}} --- {{key}} --- {{value}}
                </li>
            </ol> -->
        </div>

        <script src="js/vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    user:{name:"小强",age:23},
                    lists: ["北京","上海","广州","深圳","杭州"],
                    users: [{name:"小强",age:25},{name:"小红",age:18}]
                },
            });

        </script>
    </body>
</html>

v-model : 实现数据的双向绑定

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <!--
            双向绑定:
                1、HTML部分发生变化,Vue实例中对应的属性也会变化
                2、Vue中发生变化,HTML中同样变化

         -->
        <div id="app">
            <!--
                总结:
                    1、使用v-model指定可以实现数据的双向绑定
                    2、所谓的双向绑定,表单中的数据和Vue实例中data的数据变化是同步的
                MVVM架构:双向绑定机制
                    Model:数据
                    View:页面,页面展示数据
                    VM:ViewModel 监听器
             -->
            <input type="text" v-model="message">

            <span>{{message}}</span>

            <button @click="changeValue">&#x901A;&#x8FC7;&#x6539;&#x53D8;JS&#x4E2D;message&#x7684;&#x503C;&#x6539;&#x53D8;&#x6587;&#x672C;&#x6846;&#x7684;&#x503C;</button>
            <hr>
            <input type="radio" name="gender" value="m" v-model="gender">&#x7537;
            <input type="radio" name="gender" value="w" v-model="gender">&#x5973;
            <hr>
            <input type="checkbox" name="hobby" value="a" v-model="hobby">A
            <input type="checkbox" name="hobby" value="b" v-model="hobby">B
            <input type="checkbox" name="hobby" value="c" v-model="hobby">C
            <!-- <button @click="show">查看</button> -->

            <hr>
            <select v-model="address">
                <option value="x">X</option>
                <option value="y">Y</option>
                <option value="z">Z</option>
            </select>
            <button @click="show">&#x67E5;&#x770B;</button>

            <input type="file">
        </div>

        <script src="js/vue.js"></script>
        <script>
            const app = new Vue({

                el: "#app",
                data: {
                    message:'',
                    gender:'w',
                    hobby:[],
                    address:'z',
                },
                methods: {
                    changeValue() {
                        this.message = prompt("请输入:");
                    },
                    show() {
                        // console.log(this.hobby);
                        console.log(this.address);
                    }
                },
            });

        </script>
    </body>
</html>

Original: https://www.cnblogs.com/ychptz/p/16631430.html
Author: 阿萨德菩提子
Title: 2022-8-27 vue 第一天

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611127/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ReentrantLock可重入、可打断、Condition原理剖析

    本文紧接上文的AQS源码,如果对于ReentrantLock没有基础可以先阅读我的上一篇文章学习ReentrantLock的源码 重入加锁其实就是将AQS的state进行加一操作 …

    数据库 2023年6月11日
    082
  • java Activiti 工作流引擎 SSM 框架模块设计方案

    工作流模块 1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起 3….

    数据库 2023年6月6日
    0108
  • 论程序员的英语水平,看看你在几级?

    获取下一天的日期 根据指定的日期,获取其后一天的日期 点评: 方法可重命名为getNextDay “商品”怎么说? 商品表:t_good 然后,程序里都是g…

    数据库 2023年6月9日
    0125
  • mysql解压版简洁式本地配置方式

    1. 设置全局变量 解压mysql压缩包到指定位置, 然后配置全局变量, 在 path 中添加全局变量, 值为 mysql 根目录下 bin 目录路径, 比如: D:\code_s…

    数据库 2023年6月14日
    074
  • 安装node、npm、vue cli脚手架

    1、node https://www.runoob.com/nodejs/nodejs-install-setup.html 2、npm 安装好node就默认安装好npm 不需要单…

    数据库 2023年6月9日
    082
  • 索引的树结构

    二分查找 二叉树 二叉平衡树 B-TREE :二叉平衡树的基础上,使加载一次节点,可以加载更多路径数据,同时把查询范围缩减到更小 缺点:业务数据的大小可能远远超过了索引数据的大小,…

    数据库 2023年6月16日
    0138
  • Cookie和Session的关系和区别

    4.请简述Cookie和Session的区别 4.1什么是Cookie HTTP是无状态协议,他不能以状态来区分和管理请求和响应。也就是说服务器但从网络连接上无从知道客户身份。所以…

    数据库 2023年6月14日
    083
  • ShardingSphere 在金融支付场景下的实践与调优

    Apache ShardingSphere 团队先前应邀到海科融通北京总部,PMC Chair 张亮与海科融通的技术同学在异构数据库关联查询、分布式事务、两地三中心、系统高可用等方…

    数据库 2023年6月16日
    0104
  • java 论坛模块设计方案

    权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。(一个用户可以多个角色) 按钮权限: 给角色…

    数据库 2023年6月6日
    083
  • 多商户商城系统功能拆解23讲-平台端分销等级

    多商户商城系统,也称为B2B2C(BBC)平台电商模式多商家商城系统。可以快速帮助企业搭建类似拼多多/京东/天猫/淘宝的综合商城。 多商户商城系统支持商家入驻加盟,同时满足平台自营…

    数据库 2023年6月14日
    088
  • MySQL删除重复数据

    重复数据如图所示 自关联,保留id最小的那一条,其它的都删除 DELETE t1 FROM invest_year t1, invest_year t2 WHERE t1.pro_…

    数据库 2023年6月14日
    089
  • Centos MySQL 安装手册(超简洁)

    EL8 系统会遇到 yum报404: Errors during downloading metadata for repository ‘appstream’:原因是2022年1…

    数据库 2023年6月9日
    0106
  • 实时展示用户上传的头像

    实时展示用户上传的头像 总体思路 """ 1.&#x9996;&#x5148;&#x9700;&#x8981;&amp…

    数据库 2023年6月14日
    074
  • 数据类型

    布尔类型:true和false;占一个位 public class Demo01 {    public static void main(String[] args) { Ori…

    数据库 2023年6月11日
    095
  • 2022-8-30 servlet

    HttpServletRequest — request(请求) &#x6240;&#x6709;&#x7684; &#x548C;&a…

    数据库 2023年6月14日
    081
  • mysql总结-思维导图

    posted on2022-05-08 21:45 搁浅的小鲸鱼 阅读(23 ) 评论() 编辑 Original: https://www.cnblogs.com/komoreb…

    数据库 2023年6月11日
    070
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球