前端框架之Vue学习(一)

2023-11-08

1.Vue简介

一、vue:是一套用于构建用户界面的渐进式框架。
二、Vue的核心特点:
(1)相应的数据变化
当数据发生改变 --> 视图自动更新
(2) 组合的视图组件
UI页面映射为组件树
划分组件可维护、可复用、可测试
三、MVC和MVVM
MVC:有model、view、controller三部分组成,其中controller是中间桥梁,能够上model和view进行数据交换。
MVVM:由model、view、viewmodel组成,viewmodel是Vue的核心。
四、Vue的初始化

<div id="app" v-cloak>{{msg}}</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
    var vm=new Vue({
        el:'#app',
        data:{
            msg:'hello vue'
        }
    })
</script>

注意:当在页面中引入多个文件时,有可能会因为引入顺序造成页面加载出现问题。这是可以使用async和defer来实现异步。
defer是按照顺序执行,async是谁先加载完谁先执行。
五、Vue中的数据双向绑定
首先我们先用原生JS来模拟一下数据双向绑定

<!-- 原生JS模拟数据双向绑定 -->
  <div id="app">
    <input type="text" id="input">
    <span id="sp"></span>
  </div>
  <script>
      // ES5可以对对象的属性进行监听?
      // var obj = {}
      // var msg = '123'
      // Object.defineProperty(obj, 'msg', {
      //   // value: "helloworld!!!",
      //   // writable: false
      //   get() { 
      //     return msg;
      //   },
      //   set(val) {
      //     msg = val
      //   }
      // })
      // obj.msg = "112233"
      // console.log(obj.msg)

      var input = document.querySelector('#input')
      var span = document.querySelector('#sp')

      var obj = {}
      Object.defineProperty(obj, 'msg', {
        get() {

        },
        set(val) {
          span.innerHTML = val
          input.value=val
        }
      })
      input.addEventListener('input', function() {
        console.log("input值发生了表哈!!!")
        // UI -> 使得JS中的值发生了变化?
        // JS -> UI?
        obj.msg = input.value;
      })
  </script>

通过原生JS的模拟我们可以知道所谓的数据双向绑定就是当js的值发生改变时UI的值也会发生改变,同样的UI的值发生改变时js的值也会发生改变。当我们理解这些时就会发现Vue的数据双向绑定也不过如此。

<div id="app-6">
  <p>{{ message }}</p>
  <input v-model="message">
</div>
<script>
var app6 = new Vue({
  el: '#app-6',
  data: {
    message: 'Hello Vue!'
  }
})
</script>

六、指令(directive)
所谓指令,相当于标签上的自定义属性。
常见的指令有:

指令 含义
v-text 文本指令
v-model 双向绑定指令
v-bind 动态绑定属性
v-once 只执行一次
v-HTML HTML代码解析
v-cloak 当Vue解析完,渲染div
v-on 绑定事件或监听事件
v-for 循环指令

注意:其中v-on和v-bind指令可以进行简写
v-on === @
v-bind === :

代码示例

<div id="app">
        <span v-text="msg"></span>
        <img v-bind:src="url" alt="">
        <p v-html="p"></p>
        <ul>
            <li v-for="item in arr">{{item}}</li>
        </ul>
        <button v-on:click="alert('123')">点击</button>
   </div>
 <script src="node_modules/vue/dist/vue.min.js"></script>
<script>
    var vm=new Vue({
        el:"#app",
        data:{
            msg:"下一个天亮",
            url:"http://img3m3.ddimg.cn/84/36/27879573-1_l_6.jpg",
            p:"<p>此时此刻的云</p>",
            arr:["星期一","星期二","星期三"]
        }
    })
</script>  

七、todoList案例

<div id="app">
        <input type="text" @keyUp.enter="addTodo" v-model="inputValue">添加
        <ul>
            <li v-for="(item,index) in arr">{{item}} <button @click="delTodo(index)">删除</button></li>
        </ul>
    </div>
<script src="node_modules/vue/dist/vue.min.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            inputValue: "",
            arr: []
        },
        methods: {
            addTodo() {
                if(this.inputValue.trim() === ""){
                    return
                }
                this.arr.push(this.inputValue)
                this.inputValue = ""
            },
            delTodo(index) {
                this.arr.splice(index, 1)
            }
        },
    })
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端框架之Vue学习(一) 的相关文章

  • flask框架学习 git、post请求

    templates 文件夹是放置html文件的 xff0c 否则路径不对会报错 demo1 py 文件内容 span class token keyword from span flask span class token keyword
  • spring框架学习(一)

    1 xff0c 什么是 spring 框架 spring 是 J2EE 应用程序框架 xff0c 是轻量级的 Io C 和 AOP 的容器框架 xff0c 主要是针对 java Bean 的生命周期进行管理的轻量级容器 xff0c 可以单独
  • Spring框架学习

    目录 目录 学习内容 xff1a IoC java中创建对象有哪些方式 xff1a ioc的体现 xff1a DI 是ioc的技术实现 spring的第一个核心功能 ioc Spring 八大模块 Spring的特点 xff1a Sprin
  • Poco Application 框架学习(1)

    基本的功能 提供了一个 int run int argc char argv 方法用于执行app run 方法会调用 类的 void initialize Application amp self 与 int main const std
  • Poco Application 框架学习(3)配置文件,日志

    配置文件及日志 配置文件 xff1a 配置文件初始化 一般应用程序都会有配置文件 xff0c Application 框架也不例外 通过一下接口来读取配置文件信息 当前 Poco支持的格式有 ini xml json properties
  • ION框架学习(一)

    第一章介绍 xff1a ION的框架和buffer的分配 xff1b 第二章介绍 xff1a 如何使用ION buffer xff1b ION是google在Android4 0 为了解决内存碎片管理而引入的通用内存管理器 用来支持不同的内
  • VOL框架学习(一)从零开始搭建项目

    主要资料 demo地址 xff1a http www volcore xyz 帐号 xff1a admin666 xff1b 密码 xff1a 123456 xff08 本地超级管理员帐号 xff1a admin xff1b 密码 xff1
  • VOL框架学习(二)使用代码生成器生成菜单和页面

    在使用之前确保前端后端都已正常运行 xff0c 可以查看VOL框架学习 xff08 一 xff09 从零开始搭建项目 xff08 一 xff09 首先是生成Vue页面 1 使用超级管理员账户登录网站 用户名 xff1a admin xff1
  • Activiti7工作流+SpringBoot

    文章目录 一 Activiti相关概念 1 Activiti介绍 2 核心类 2 1 ProcessEngine 2 2 服务 Service 类 2 2 1 TaskService 2 2 2 RepositoryService 2 2
  • mybatis的接口绑定方式(注解绑定和配置xml文件)

    目录 一 配置xml文件 步骤 1 创建pojo类 Student对象 2 创建StudentMapper接口 3 创建mapper xml配置文件 4 在mymybatis config xml中添加StudentMapper配置 5 创
  • 阿里云OSS请求文件跨域问题Access-Control-Allow-Origin

    跨域问题网上很多解决方案提示到这里配置但是不生效 一定要勾选Vary Origin这个选项 请求的时候浏览器记得请求在控制台要清理缓存
  • Pytorch框架学习 -2 torch.nn.modules.Module(nn.Module)理解

    文章目录 Pytorch框架学习 2 torch nn modules Module nn Module 理解 最简单的例子 分析 部分源码 基本参数 dump patches version training 初始化函数 paramete
  • SSM框架学习记录-Spring_day01

    1 核心概念 当前项目中的问题 下面代码的实现十分简单 但是业务层需要调用数据层的方法 就要在业务层new数据层的对象 如果数据层的实现类发生变化 业务层的代码也需要跟着改变 意味着要编译打包和重新部署 数据层实现 public class
  • 【Spring】Spring依赖注入与控制反转理解

    Spring是一个庞大的框架 封装了很多成熟的功能 能够让我们无需重复造轮子 其次 它使用IOC进行依赖管理 利用JAVA的反射机制 将实例的初始化交给Spring Spring可以通过配置文件管理实例 我们就不用自己初始化实例啦 有人会问
  • 前端框架之Vue学习(一)

    1 Vue简介 一 vue 是一套用于构建用户界面的渐进式框架 二 Vue的核心特点 1 相应的数据变化 当数据发生改变 gt 视图自动更新 2 组合的视图组件 UI页面映射为组件树 划分组件可维护 可复用 可测试 三 MVC和MVVM M
  • 框架分析(11)-测试框架

    框架分析 11 测试框架 专栏介绍 Selenium 框架特性 多语言支持 多浏览器支持 元素定位 页面操作 等待机制 浏览器控制 测试报告 并行执行 集成测试框架 优缺点分析 优点 开源免费 跨平台 多语言支持 强大的定位器 支持多种测试
  • 小程序技术原理分析

    小程序技术原理分析 背景 小程序诞生的技术背景 小程序与普通网页开发的区别 宿主环境 执行环境 小程序架构 一 技术选型 二 双线程模型 三 双线程通信 四 小程序的基础库 五 小程序运行时 运行机制 更新机制 六 性能优化 总结 背景 随
  • 2020大厂前端面试之vue专题(三)

    21 v model中的实现原理及如何自定义v model v model 可以看成是 value input方法 的语法糖 input v model checkbox v model select v model 组件的v model
  • 框架学习——带你了解SpringBoot框架

    目录 一 SpringBoot简介 1 1 原有Spring优缺点分析 1 1 1 Spring的优点分析 1 1 2 Spring的缺点分析 1 2 SpringBoot的概述 1 2 1 SpringBoot的特点 1 2 2 Spri
  • 前端框架之Vue学习(二)

    一 事件修饰符 enter 回车生效 常用于替代判断是否按下回车事件 once 单次生效 只会生效一次 stop 阻止事件冒泡 self 阻止事件冒泡 只有点击自身时才生效 capture 将后面的事件变为捕获事件 prevent 阻止默认

随机推荐

  • ES Module 和 Commonjs 的区别

    只有静态引入 tree shaking才能够知道哪些引入哪些不引入 动态引入 要引入的代码都没有执行 所以不会引入 所以tree shaking不知道哪些引入哪些不引入
  • 只利用 phpstudy 如何运行PHP文件 超详细教程

    1 先编写好PHP代码 我这里用记事本简单写了一个 2 打开phpstudy 检查下有没有下载PHP环境 启动Apache 3 把编写好的PHP文件复制到phpstudy目录下的www文件中 注 phpstudy可以通过 网站 管理 打开根
  • Vue常见简写 “:“ , “@“ , “#“ :帮助刚入行的伙伴快速看懂代码

    提示 本文仅仅是对Vue中比较常见的简写进行总结 适合刚入行有时看不懂代码的朋友 目录 文章目录 前言 一 是什么 1 是什么意思 2 怎么使用 二 是什么 1 是什么意思 2 怎么使用 三 是什么 1 是什么意思 2 怎么使用 总结 前言
  • JDBC 学习笔记(基础)

    示意图 目录 创建 JDBC 应用 例子 通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤 1 注册驱动 2 建立与数据库的连接 3 获取执行SQL语句的对象 Statement 4 定义执行 SQL 语句 5 操作结果集对象
  • 100. Same Tree

    Definition for a binary tree node struct TreeNode int val TreeNode left TreeNode right TreeNode int x val x left NULL ri
  • 【Java】SpringBoot使用AOP进行日志解析打印+系统异常全局处理配置

    文章目录 前言 一 导入Lombok 二 创建日志打印Model 三 创建日志切面工具类 四 需要用到的一些常量类 五 创建接口请求切面 六 系统异常全局配置 总结 前言 为了方便项目部署在服务器之后 当出现BUG以及某些特殊需求时 会因为
  • Docker 笔记(全)

    1 关于Docker 1 1 概念 Docker 是一个开源的应用容器引擎 基于Go 语言 并遵从 Apache2 0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linu
  • 运算符之算术运算符、关系运算符、逻辑运算符、复合赋值运算符、其他运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号 C 有丰富的内置运算符 分类如下 算术运算符 关系运算符 逻辑运算符 复合赋值运算符 位运算符 其他运算符 运算符优先级 由高到低 类别 运算符 结合性 后缀 gt 从左到右 一元 ty
  • python学得好 监狱进的早_蟒周刊-403-监狱中学 Python 改变人生

    200115 Zoom Quiet 大妈 用时 42 分钟 完成快译 200115 Zoom Quiet 大妈 用时 17 分钟 完成格式转抄 Ned was getting reports for a mysterious disk I
  • 铨顺宏RFID:应用超高频RFID技术智能档案管理系统

    根据超高频率RFID技术性智能化档案智能管理系统将改变这一现况 根据选用先 进的超高频率RFID自动检索技术应用和计算机系统技术性 以超高频率RFIDrfid标签做为信息储存媒体并黏贴在档案袋上 在超高频率RFID集成ic中储存该档案的基本
  • 看完这篇 教你玩转渗透测试靶机vulnhub——FunBox2(ROOKIE)

    Vulnhub靶机FunBox2 ROOKIE 渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 FTP匿名访问 暴力破解 SSH私钥登入获取Shell Sudo提权
  • YOLO V4论文解读

    YOLO V4论文解读 一 YOLOV3回顾 二 YOLOV4中 三 Bag of freebies 数据扩充 模拟对象遮挡 结合多幅图像进行数据扩充 解决类别不平衡 label smoothing bbox Yolov4 use 四 Ba
  • java 字符串示例

    概述 最近项目上 需求 需要Android端在一段字符串分包处理 在此做个笔录 1 code public class Main public static void main String args System out println
  • mysql 1786_mysql错误:Statement violates GTID consistency

    在MYSQL中 执行建表语句时CREATE TABLE aaaa AS SELECT FROM menu 报 错误代码 1786 Statement violates GTID consistency CREATE TABLE SELECT
  • 训练loss不下降的原因总结

    表现 训练过程中loss值一直震荡 没有下降趋势 原因一 梯度消失 多因为网络深度过深 接近输入层的参数 梯度过小 解决方法 调整网络 激活函数relu batch normal 残差网络等 原因二 训练数据分布不均匀 这种情况对训练数据s
  • 力扣:350.两个数组的交集 II

    力扣 350 两个数组的交集 II 题目 给你两个整数数组 nums1 和 nums2 请你以数组形式返回两数组的交集 返回结果中每个元素出现的次数 应与元素在两个数组中都出现的次数一致 如果出现次数不一致 则考虑取较小值 可以不考虑输出结
  • 大数据课程I3——Kafka的消息流与索引机制

    文章作者邮箱 yugongshiye sina cn 地址 广东惠州 本章节目的 掌握Kafka的消息流处理 掌握Kafka的索引机制 掌握Kafka的消息系统语义 一 Kafka消息流处理 1 Producer 写入消息 流程说明 1 p
  • yolov5转tensorrt c++

    目录 yolo tensorrt 下载weights模型 onnx tensorrt project 编译问题解决 依赖项 自己生成weights模型 以及加载报错解决 生成引擎报错解决 批量预测 自动创建引擎 解决检测框乱的问题 提速 b
  • 对接微信米大师虚拟支付2.0文档

    话不多说 上代码 支付密钥算法 public static String calcPaySig String uri String postBody String appKey String needSignMsg uri postBody
  • 前端框架之Vue学习(一)

    1 Vue简介 一 vue 是一套用于构建用户界面的渐进式框架 二 Vue的核心特点 1 相应的数据变化 当数据发生改变 gt 视图自动更新 2 组合的视图组件 UI页面映射为组件树 划分组件可维护 可复用 可测试 三 MVC和MVVM M