Vue.js学习笔记【part1】基本标签的使用、生命周期方法

尚硅谷Vue2.0教程 Part1丨vuejs从入门到精通笔记 | Vue_Basic 尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通笔记 阅读详情

vue.js学习笔记

Vue.js 是一款流行的 JavaScript 前端框架,Vue 所关注的核心是 MVC 模式中的视图层,它也方便地获取数据更新,实现视图与模型的交互。

1.创建代码片段

声明式渲染:Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。核心思想就是没有繁琐的DOM操作,例如jQuery中,我们需要先找到div节点,获取到DOM对象,然后进行一系列的节点操作。

为了方便学习vue,首先创建代码片段,文件 => 首选项 => 用户片段 => 新建全局代码片段文件,命名格式为vue-html.code-snippets 。

{
	"vue htm": {
		"scope": "html",
		"prefix": "vuehtml",
		"body": [
			"<!DOCTYPE html>",
			"<html lang=\"en\">",
			"",
			"<head>",
			"    <meta charset=\"UTF-8\">",
			"    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
			"    <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">",
			"    <title>Document</title>",
			"</head>",
			"",
			"<body>",
			"    <div id=\"app\">",
			"     {{message}}",
			"    </div>",
			"    <script src=\"vue.min.js\"></script>",
			"    <script>",
			"        new Vue({",
			"            el: '#app',",
			"            data: {",
      "            message: 'hello Vue !'",
      "         }",
			"        })",
			"    </script>",
			"</body>",
			"",
			"</html>",
		],
		"description": "my vue template in html"
	}
}

“prefix”: "vuehtml"设置后,输入vuehtml即可生成代码片段。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <div id="app">
     {{message}}
    </div>
    <script src="vue.min.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
            message: 'hello Vue !'
         }
        })
    </script>
</body>

</html>

2.单向数据绑定v-bind

vue指令语法:v-指令名称。

v-bind 用在标签属性上面,通过指令获取data定义变量值,简写方式:直接使用一个冒号 “ : ”。

<body>
    <script src="vue.min.js"></script>
    <div id="app">
      <span v-bind:style="msg">parker7</span>
      <span :style="msg">parker7</span>  <!-- 简写 -->
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
            msg: 'color:green;'
         }
        })
    </script>
</body>

3.双向数据绑定v-model

双向绑定:当数据发生变化的时候,视图也会跟着发生变化;当视图发生变化的时候,数据也会跟着同步变化。

<body>
    <script src="vue.min.js"></script>
    <div id="app">
      {{keyword}}
      <br>
      <input type="text" v-bind:value="keyword"/>
      <br>
      <input type="text" v-model:value="keyword"/>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
            keyword: 'parker7'
         }
        })
    </script>
</body>

在这里插入图片描述

4.事件v-on

语法 v-on:事件名称=“调用方法”。

使用 v-on 进行数据处理,v-on:click 表示处理鼠标点击事件。其他事件调用方式同理,事件调用的方法定义在 vue 对象声明的 methods 节点中。

其中 v-on:click=“func()” 也可以使用写法二 @click=“func()” 。

<body>
    <script src="vue.min.js"></script>
    <div id="app">
      <button v-on:click="show()">事件绑定写法1</button>
      <button @click="show()">事件绑定写法2</button>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
            
         },
         methods: {
           show() {
             console.log("show...")
           }
         }
        })
    </script>
</body>

5.条件渲染v-if、v-else

条件指令v-if:条件判断,搭配v-else。和之前学过的jsp的c:if、c:else很类似。

<body>
    <script src="vue.min.js"></script>
    <div id="app">
      <input type="checkbox" v-model="isOk">
      <br>
      <div v-if="isOk">checkbox被选中了</div>
      <div v-else>checkbox没有被选中</div>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
              isOk : false
         }
        })
    </script>
</body>

6.列表渲染v-for

实际就是循环指令。

<body>
    <script src="vue.min.js"></script>
    <div id="app">
      <!-- 循环指令 -->
      <div v-for="user in userList">
        {{user.name}} ------- {{user.number}}
      </div>
      <!-- 获取索引index,index从0开始 -->
      <div v-for="(user,index) in userList">
        {{index}} ---------- {{user.name}} ------- {{user.number}}
      </div>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
              userList : [{"name":"parker","number":7},{"name":"zhangsan","number":10}]
         }
        })
    </script>
</body>

打印结果:

parker ------- 7

zhangsan ------- 10

0 ---------- parker ------- 7

1 ---------- zhangsan ------- 10

7.vue的生命周期

vue生命周期

created() 方法,在页面渲染之前执行。

mounted() 方法,在页面渲染之后执行。

updated() 方法、destroyed() 方法同理。

方法定义在 vue 对象中,插入 debugger 关键字可以在浏览器中进行断点调试(chrome浏览器需要ctrl+b开启)。

<body>
    <script src="vue.min.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
              
         },
         created () { //在页面渲染之前执行
           debugger
           console.log('created...')
         },
         mounted () { //在页面渲染之后执行
          debugger
           console.log('mounted...')
         }
        })
    </script>
</body>

8.axios发送ajax请求

除了导入vue.js,使用axios还需要导入axios.js。

axios发送请求的语法如下:

axios.get("请求的接口路径")  //可以为.json文件,也可以为请求路径http://localhost:8080/...
	.then()
	.catch()

第一步,模拟后端发来的json数据,创建user.json文件。

{
  "code":200,
  "message":"成功",
  "data":{
    "users":[
      {"name":"parker","number":7},
      {"name":"zhangsan","number":10},
      {"name":"lisi","number":9}
    ]
  }
}

第二步,编写js,接受json数据。

<body>
    <script src="vue.min.js"></script>
    <script src="axios.min.js"></script>

    <div id="app">
      <!--表格-->
      <table>
        <tr v-for="user in userList">
          <td>{{user.name}}</td>
          <td>{{user.number}}</td>
        </tr>
      </table>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
            userList:[] //初始化一个空的userList数组
         },
         created () { //在页面渲染之前执行
           //页面一开始就会调用此方法,得到返回json数据
           this.getList()
         },
         methods: {
           getList() {
             //使用axios方式发出ajax请求
             axios.get("user.json") //.get和.post来发出请求
             .then(response => { //.then请求成功时运行,response对象中带有请求信息和数据
              console.log(response)
              this.userList = response.data.data.users //通过response中的层级结构来访问json数据
              console.log(this.userList) //userList需要加this,来表示使用的是vue的data结点中的数据
             })
             .catch(error => { //.catch请求出错时运行,error对象中包含错误信息
              console.log(error) 
             })
           }
         }
        })
    </script>
</body>

页面成功打印
在这里插入图片描述

JavaScript 带标签模板字面量:元编程与 DSL 构建核心机制 带标签模板字面量(Tagged Template Literals)是 JavaScript 中实现元编程的关键原语,其本质并非字符串拼接语法糖,而是将模板解析权交由开发者控制的运行时机制。它通过分离静态字符串数组与动态表达式参数,支持 raw/cooked 双模式字符处理,为安全转义、领域特定语言(DSL)构建提供底层支撑。该特性在 SQL 参数化查询、CSS-in-JS 样式封装、国际化文案编译及 CLI 命令解析等场景中展现出强大工程价值,已成为现代前端架构中连接逻辑与声明式表达的核心桥梁。 阅读详情

相关推荐

Part6-1-2 uniapp

目录结构 应用配置 manifest.json manifest.json 是应用的配置文件,用于指定应用的名称、图标、权限等,我们也可以在这里为 Vue 为 H5 设置跨域拦截处理器 编译配置 vue.config.js vue.config.js 是一个可选的配置文件,如果项目的根目录中存在这个文件,那么它会被自动加载,一般用于配置 webpack 等编译选项 全局配置 page.json page.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗.

m0_38066007的博客 1285

标签生命周期管理

标签生命周期管理

qq_40843166的博客 988

用户画像标签体系构建流程

给客户培训整理的用户画像流程介绍,包括用户标签体系构建流程、标签生命周期管理、数据架构、标签工厂、标签存储等

58标签体系建设实践

本篇主要介绍 58 标签体系建设实践,主要包含痛点及标签建设方案、标签体系、标签管理平台三个模块。

SmartSi 772

08-SD卡-TF卡硬件电路设计

SD卡-TF卡硬件电路设计

weixin_66510961的博客 8260

自偏置电流镜设计实例

自偏置电流镜设计实例 一、概述 ​ 众所周知,电流镜属于模拟电路设计中的一个基本模块,可为其他模块提供偏置电流,例如在放大器中提供偏置电流以形成尾电流源并确定直流偏置点。本文将会介绍一种自偏置的电流镜,从原理出发,并以0.18um的工艺进行设计和仿真。 二、原理 ​ 如图一所示的电路,也称之为Beta-multiply reference电路,其中M2的尺寸是M1的k倍。M3复制M4的电流,M2和M1的漏极电流相同,但是VGS并不相等。其中 VGS=2IμnCoxW/...

aonuanjiang的博客 1万+

Spring--4.标签 生命周期 服务启动(bean管理xml)

1 常用属性,子标签 1.1 属性 1.2 子标签 1.3 作用域--scope属性 使用scope设置作用域 singleton :默认,单例的,初始化创建bean,整个生命周期只创建一个bean prototype :原型的,初始化不创建bean,每次请求创建一个bean,并返回 1.4 字面值—处理特殊字符 字面值:可用字符串表示的值,可以通过 <value> 元素标签或 value 属性进行注入。 若字面值中包含特殊字符,可以使用 <![CDATA[]]> 把

村西头的俏寡妇 379

DDR4内存PCB设计实战:8层板Fly-by拓扑信号完整性优化

本文深入探讨了DDR4内存条在8层PCB板上采用Fly-by拓扑时的信号完整性优化实战。文章详细解析了层叠规划、阻抗控制、电源分割、等长布线及串扰抑制等关键设计要点,并强调了仿真验证的重要性,为硬件工程师提供了从理论到实践的完整设计指南与自查清单。

weixin_29296241的博客 340

vue使用render函数自定义标签动态导入js文件

Render、createElement参数的说明和使用,

qq_43818838的博客 1991

Sparse4Dv3 代码复现

打包数据集的元信息和标签,并生成所需的.pkl文件。最后还输出了很多跟踪相关的东西...然后通过K-means生成锚点。编译可变形聚合CUDA算子。安装motmetrics。

m0_60857098的博客 4487

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

Vue各种标签的使用方法

Vue各种标签的使用方法

weixin_45718431的博客 1827

爬虫不宕机!2026自愈式爬虫开发(Python+AI自动应对页面改版)

传统爬虫最大的痛点是"页面一改就宕机":前端布局调整、CSS选择器失效、数据结构变化,都会导致爬虫瘫痪,需要人工逐行修改代码。2026年,基于AI的自愈式爬虫成为行业标配:通过大模型自动识别页面结构变化、适配新的元素定位规则、修复数据提取逻辑,实现"页面改版不宕机,AI自动自愈"的企业级效果。本文从零讲解如何用Python+AI构建自愈式爬虫,聚焦页面改版自适应、故障自动修复、规则动态更新三大核心能力,附带可直接落地的生产级代码。问题场景解决方案LLM生成规则格式错误。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1215

Vue学习笔记——Part1

Vue学习笔记——Part1 渐进式JavaScript框架 ·简单应用:只需要轻量小巧的核心库 ·复杂应用:引入各种vue插件 Vue特点 1、组件化模式,提高代码复用率,更好维护 2、声明式编码,无需直接操作DOM,提高开发效率 3、使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点 一、Vue核心 1.1 初识Vue 1、创建一个Vue实例,且传入一个配置对象 2、root容器里的代码依然符合html规范 3、root容器里的代码被称为【Vue模板】 注:    &

ElegantKurumi的博客 421

【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析

本案例针对三阴乳腺癌患者,经问卷调查收集数据并筛选处理形成原数据,经清洗、特征选择与变换后,构建Apriori模型,基于业务理解与建模结果,分析患者症状与中医证型关联,并据症状给出建议 。

Morse_Chen的博客 1380

2011-2024年间各省数字普惠金融指数数据(覆盖广度、使用深度和数字化程度)

2、指标:数字金融普惠指数、数字金融覆盖广度指数、数字金融使用深度指数、普惠金融数字化程度指数、数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。中国各省的数字普惠金融指数数据,从数字金融覆盖广度、数字金融使用深度和普惠金融数字化程度3个维度来构建数字普惠金融指标体系。数字普惠金融指数一共3个维度、33项具体指标。全套指数包含数字金融覆盖广度指数、数字金融使用深度指数和普惠金融数字化程度指数,以及数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。

【优快云】 1万+

Vue学习之旅Part6:通过例子和示意图弄懂Vue的八大生命周期

一、概述 Vue实例从创建 运行 到销毁期间 伴随着的各种各样的事件 这些事件 统称为生命周期 生命周期钩子就是生命周期事件的别名 生命周期钩子 = 生命周期函数 = 生命周期事件 这三个都是一样的东西 不过叫法不同而已 Vue总共分为三个大的生命周期 即:创建 运行 销毁 和人的一生也很像:出生 活着 死亡(跑题辽 主要的生命周期函数: 创建期间的生命周期函数: beforeCreate:实...

"✧treasure mountain✧" 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Vue的学习之旅-part2

上一篇博客:博主带您 溺亖在知识的海洋里,嘿嘿嘿.~🐒 个人主页——🐒😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1300

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

vue part 5

生命周期:1 .又名:生命周期回调函数、生命周期函数、生命周期钩广。2 .是什么:Vue在关键时刻用我们调用的一些特殊名称的函数。3•生命周期函数的名字不可史改,但函数的具体内容是程序员根据需求编写的.4 .生命周期函数中的this指向是vm或组件实例对象。

E___V___E的博客 1096

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Vue.js 源码剖析-响应式原理 part1

目标 vue.use set,el.data,data,data,el.mount等 创建vue实例,初始化好数据后,vue如何渲染到页面的 响应式 目录 根据不同功能把代码拆分不同文件夹(提高可读性可维护性) compiler转换render函数 core核心 globalApi Vue的静态方法 instance 创建vue实例 observer 响应式实现(重点讲) vueDom 重写了snabdom server 服务端渲染 sfc 单文件组件 把单文件组件转成js对象 了解flow即可

weixin_45345105的博客 343

vue part1 基础

0.准备 pycharm vue与EC6支持设定 https://www.cnblogs.com/infaaf/articles/9593237.html chrome浏览器插件安装 完成后出现标记 vue页面标记需要使用vue.js非vue.min.js 调试页面 结构模型MVVM = m:model + v:view + vm view(dom) -----...

weixin_34318956的博客 90

Vue项目部分

Vue项目部分 1.Github:https://github.com/vuejs/vue-cli 2.安装vue脚手架: 打开cmd:npm insatll –g vue-cli 3. babelrc rc:runTime Control babel功能: ES6转ES5 JSS转JS 4.组件:对数据和方法的简单封装 5.页面三要素:html,css,js 6.组件化编码流程: 拆分组件 静态组件(页面显示数据固定,无交互) 动态组件(初始化显示,交互) 7.reduce函数 一 1. Vue.js是什

m0_49416118的博客 236

part3-m1

Part 3 · Vue.js 框架源码与进阶 本阶段围绕当下国内最主流的前端核心框架 Vue.js 展开,深入框架内部,通过解读源码或者手写实现的方式,剖析 Vue.js 框架的内部实现原理,让你做到知其所以然。同时我们还会介绍 Vue.js 的进阶用法、周边生态以及性能优化,让你轻松应对更加复杂的项目业务需求。 模块一 手写 Vue Router、手写响应式实现、虚拟 DOM 和 Diff 算法 首先回顾 Vue Router 的基本使用,以及 Hash 模式和 History 模式的区别,然后自

zsnpromsie的博客 211

Vue.js集成Stripe Elements安全支付表单实战

支付表单是电商、SaaS和在线教育等Web应用的核心交互环节,其本质是在用户端安全采集卡信息并完成PCI合规传输。Stripe Elements作为官方认证的iframe沙盒方案,通过隔离敏感字段(卡号、CVV、有效期)实现前端可控与支付合规的双重目标;Vue.js则凭借响应式系统和生命周期钩子,精准管理Elements实例的创建、状态同步与销毁。本文围绕Vue 3 Options API实践,详解如何规避iOS Safari自动放大、3D Secure跳转丢失、浮点精度误差等高频工程陷阱,并提供可复用的样

weixin_33719619的博客 450

【Vue专题】前端JS基础Part4(含Web存储LocalStorage与SessionStorage详解、解决回调地域的Promise+Asyn+Await)

本文介绍了Web存储的两种方式:sessionStorage(会话存储)和localStorage(本地存储)。sessionStorage仅在当前浏览器标签页有效,关闭后数据销毁,适用于临时数据存储;localStorage可持久保存数据,适用于用户偏好设置等场景。文章详细讲解了它们的添加、获取、删除等操作方法,并演示了存储对象和数组时的序列化与反序列化处理。最后通过一个倒计时示例引出异步操作的概念,为后续内容做铺垫。

Jammingpro 1101

VUE 笔记(part 2)

day02 Vue常用特性 表单基本操作 获取单选框中的值 通过v-model <!-- 1、 两个单选框需要同时通过v-model 双向绑定 一个值 2、 每一个单选框必须要有value属性 且value 值不能一样 3、 当某一个单选框选中的时候 v-model 会将当前的 value值 改变 data 中的 数据 gender 的值就...

weixin_43288180的博客 257
上一篇: ES6学习笔记【part1】基础语法
下一篇: Node.js学习笔记【part1】服务端应用开发、包管理、Babel转码器
Parker7
博客等级 码龄7年 18粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Parker7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值