【学习笔记01】vue的了解和指令

news2025/1/24 2:25:16

一、什么是 Vue?

  • Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。

二、Vue的两个核心功能

声明式渲染

  • Vue基于标准HTML拓展了一套模板语法,使得我们可以声明式地描述最终输出的HTML和 JavaScript 状态之间的关系。

响应性

  • Vue会自动跟踪JavaScript状态并在其发生变化时响应式地更新DOM。

官网:cn.vuejs.org

三、搭建环境

1、前提条件

vue.global.js文件地址

​​​​​​​ 链接:https://pan.baidu.com/s/1nJyLYYKt4c4QLfeuQrUGOg  提取码:1115

2、搭建环境代码

  • createApp:创建一个应用, 这个方法的返回值是的对象 
  • 数据必须存储在data函数返回的对象里
  • mount(挂载):把应用挂载到一个dom节点
    <div id="box">
        {{str}}
    </div>
    <script>
        // createApp 创建一个应用  这个方法的返回值是的对象
        let app = Vue.createApp({
            //数据必须存储在data函数返回的对象里
            data: function () {
                return {
                    str: 'hello world'
                }
            }
        })
        app.mount("#box")
        //mount 挂载  把应用挂载到一个dom节点上
        console.log(app)
    </script>

 3、代码简化

    <div id="box">
       {{str}}
    </div>
    <script>
        let app = Vue.createApp({
            data(){  //响应式数据   
                return {
                    str:"hello world"
                }
            }
         }).mount("#box");
         console.log(app)
    </script>

 插件中显示

4、Vue 的双向数据绑定原理是什么

Vue2.x 中,双向数据绑定是通过 数据劫持 结合 发布订阅模式 的方式来实现的,也就是说 数据和视图同步 ,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变。
数据绑定的核心
  • Vue2双向数据绑定的核心是Object.defineProperty()方法
  • Vue3.x则是用ES6的语法Proxy对象来实现的
Object.defineProperty()的缺点
  1. 只能监听对象(Object),不能监听数组的变化,无法触发push, pop, shift, unshift,splice, sort,reverse
  2. 必须遍历对象的每个属性
  3. 只能劫持当前对象属性,如果想深度劫持,必须深层遍历嵌套的对象。
Proxy的优点
  1. Proxy可以直接监听对象而非属性。
  2. Proxy可以直接监听数组的变化。
  3. Proxy有多达13种拦截方法,不限于 applyownKeysdeletePropertyhas 等等是
  4. Object.defineProperty 不具备的。
  5. Proxy 返回的是一个新对象,我们可以只操作新的对象达到目的,Object.defineProperty 只能历对象属性直接修改。
  6. Proxy 作为新标准将受到浏览器厂商重点持续的性能优化,也就是传说中的新标准的性能红利

四、 vue的调试工具

1、插件下载地址

  • vue官方提供的vue-devtools调试工具,能够方便开发者对vue项目进行调试与开发
  • 地址:https://chrome.zzzmh.cn/#/theme

在这里插入图片描述

在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 五、配置用户代码块

  • 在后续的学习中,我们都需要搭建环境的代码,因此我们可以配置代码块,方便使用

 

 

 配置的代码

	"Print to console": {
		"scope": "javascript,typescript,html",
		"prefix": "vvv3",
		"body": [
			"<div id=\"app\">",
			"</div>",
			"<script>",
				"Vue.createApp({",
					"data() {",
						"return {",
						"}",
					"},",
				"}).mount(\"#app\")",
			"</script>"
		],
		"description": "Log output to console"
	}

效果演示

​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day831.局部变量为什么是线程安全的 -Java 并发编程实战

局部变量为什么是线程安全的 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于局部变量为什么是线程安全的。 一遍一遍重复再重复地讲到&#xff0c;多个线程同时访问共享变量的时候&#xff0c;会导致并发问题。 那在 Java 语言里&#xff0c;是不是所有变量都是共…

【java设计】:全民飞机大战小游戏制作

文章目录 前言 一、全民飞机大战 二、计划安排 三、源码图和类图展示

CTF Android逆向 -- KGB Messenger APK文件结构介绍,破解账户与密码,静态分析,修改并构建APK,逆向算法,APK文件签名

前言 一次练习Android逆向的记录&#xff0c;写得很详细&#xff0c;有什么没有理解的地方可以私信 csdn不让我加外链&#xff0c;所以将链接前面的#号去掉即可 题目&#xff1a; ht#tps://github.com/tlamb96/kgb_messenger在这个挑战中&#xff0c;一共有三个flag&#x…

UE4 Pak打包、挂载、加载

首先&#xff0c;必须得明确的一点就是如果想要加载Pak内资源&#xff0c;那么这些资源必须是经过Cook的。如果打包的是未Cook的资源&#xff0c;那么即使Pak挂载成功&#xff0c;也不可能会成功加载Pak内资源。 不知道怎么生成Cook资源&#xff0c;可以看我前一篇 ​​​​​…

持之以恒,方得始终|海联捷讯的六年数字化历程

企业数字化已经成为了企业家与管理者的共识。如何实现数字化转型&#xff0c;从认知到战略&#xff0c;上至组织文化&#xff0c;下至每个组织成员的行为&#xff0c;都需要做出改变——它本质上是一种创新的企业管理模式和运营机制&#xff0c;重要性不言而喻。而降本增效也是…

学习->C++篇十七:C++的类型转换和IO流

目录 一.类型转换 1.C语言中的类型转换 2.C中的类型转换 二.IO流 1. C语言的输入与输出 2. 流是什么 3. stringstream 一.类型转换 1.C语言中的类型转换 &#xff08;1&#xff09;隐式类型转换&#xff0c;编译阶段自动进行&#xff0c;不能转换就编译报错。&#xff…

TCP/IP四层协议

七层模型层数太多记不住&#xff0c;四层模型 应用层&#xff0c;传输层&#xff0c;网络层&#xff0c;网络接口层的名字必须记得滚瓜烂熟。&#xff08;重点也是tcp/ip四层模型&#xff09; 四层模型&#xff1a; 1.应用层&#xff1a; 两台终端设备上的应用程序 应该遵守…

三面美团 Java 岗,HR 现场直接发 offer,他是横着走出来的

前情提要 这是一个发生在我朋友身上的真实事情&#xff1a; 这里就叫他程序员 Y 吧。 程序员 Y 工作不到两年&#xff0c;周末在朋友圈发了个喜报&#xff0c;准备入职美团。 之后&#xff0c;我就带着祝福跟 Y 聊了许久&#xff0c;聊天的内容就是具体了解一下他面试的过程…

技术分享之IntelliJ plugin

资料 https://zhaojian.blog.csdn.net/article/details/127882946 Plugin Configuration File https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html 今天分享的主要内容: 了解插件能够做什么 如何开发一个插件 阅读两个常用的插件源码 intellij的窗…

15.Django大型电商项目之创建模型与sql表反向生成模型

1.用户模块模型类创建 1.1 创建用户的子应用 python .\manage.py startapp userapp在settings中挂载子应用 创建子应用urls.py 在主应用中加入子应用的urls.py 1.2 创建表 如何在直接导入sql文件形成表&#xff0c;这里就直接在navicate中把sql文件拖进去点击开始即可 这里…

大数据技术系列:图解大数据平台开发

导言 在前面的文章《「大数据技术体系」学习实践导览》中&#xff0c;概要式的梳理了大数据平台的业务目标&#xff0c;大数据平台的架构框架&#xff0c;大数据平台中常用的技术及工具&#xff0c;数据治理四方面的内容&#xff0c;算是对自身所了解大数据知识体系的抛砖引玉…

第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)

第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素) 前言 百度解析&#xff1a;以环形、回路或轨道运行;沿曲折的路线运行;特指运行一周而回到原处,再转。或说反复地连续做某事。 那么&#xff0c;在程序中依然是连续重复的按照一定的规则去执行某事。 程序计数器…

如何把视频分屏?教你轻松学会视频分屏

分屏视频该怎么操作&#xff1f;不知道大家有没有看到过这样一个视频&#xff0c;就是一个视频里有两个或者有更多个画面&#xff0c;我们在观看的时候可以同时看好几个画面。其实这就是分屏视频&#xff0c;在一个页面中加入多个画面。这样的视频是不是既好玩又炫酷呢&#xf…

尚硅谷Promise笔记

文章目录一、Promise介绍与基本使用1-1.初体验之promise封装ajax请求1-2.Promise对象状态属性PromiseState的值有三个1-3.Promise对象状态属性PromiseResults二、Promise API2-1.Promise构造函数Promise(excutor){}2-2.Promise.prototype.then 方式&#xff1a;(onResolved,onR…

App 黑白化技术实践

前言 很高兴遇见你~ 最近打开各大 App 会发现它们都做了黑白化&#xff0c;如下支付宝的处理&#xff1a; 可以看到应用设置了全局灰色调&#xff0c;表达了一种对逝者的哀悼&#xff0c;非常的应景和人性化。作为程序猿&#xff0c;我们来探索一下它从技术角度是怎么实现的。…

[附源码]Python计算机毕业设计SSM基于java旅游信息分享网站(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

汇编语言第2章—寄存器

8086CPU有14个寄存器&#xff0c;分别是&#xff1a;AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。2.1 通用寄存器 8086CPU的所有寄存器都是16位的&#xff0c;可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据&#xff0c;称为通用…

【Spring】AOP记录日志

我的aop记录日志&#xff0c;可以记录&#xff1a;【 操作类型、操作描述、参数、登录项目的用户ip】 当然记录什么靠你自己决定。 一.自定义一个注解 Target({ElementType.METHOD,ElementType.PARAMETER}) Retention(RetentionPolicy.RUNTIME) Documented public interface A…

两位前阿里 P10 的成长经历的启发

目录 汤峥嵘的成长经历 关键节点一&#xff1a;到美国留学 关键节点二&#xff1a;美国工作十年 关键节点三&#xff1a;八年阿里时光 关键节点四&#xff1a;加入途牛和 VIPABC 毕玄的成长经历 关键节点一&#xff1a;小公司里脱颖而出 关键节点二&#xff1a;加入淘宝…

FineReport数据分析教程- 图表刷新接口

1. 概述 1.1 预期效果 点击按钮可以刷新普通报表或决策报表中的图表&#xff0c;以普通报表为例&#xff0c;效果如下图所示&#xff1a; 1.2 实现思路 通过FR.Chart.WebUtils.getChart("chartID").dataRefresh()获取要刷新的图表对象&#xff0c;其中chartID为图表…