01 【Vue简介 初识Vue 模板语法和数据绑定】

news2024/11/24 6:22:47

01 【Vue简介 初识Vue 模板语法和数据绑定】

1.Vue简介

1.1官网

  • 英文官网
  • 中文官网

1.2介绍与描述

  • Vue 是一套用来动态构建用户界面的渐进式JavaScript框架
    ○构建用户界面:把数据通过某种办法变成用户界面
    ○渐进式:Vue可以自底向上逐层的应用,简单应用只需要一个轻量小巧的核心库,复杂应用可以引入各式各样的Vue插件
  • 作者:尤雨溪

image-20220627111824089

1.3. Vue 的特点

1 遵循MVVM模式
2 编码简洁,体积小,运行效率高,适合移动/PC端开发
3 它本身只关注 UI,可以引入其它第三方库开发项目
4采用组件化模式,提高代码复用率、且让代码更好维护

image-20220627112112058

5 声明式编码,让编码人员无需直接操作DOM,提高开发效率

image-20220627112141707

使用虚拟DOMDiff算法,尽量复用DOM节点

image-20220627112235934

1.4与其他 JS 框架的关联

  • 借鉴 angular 的 模板数据绑定 技术
  • 借鉴 react 的 组件化虚拟DOM 技术

1.5Vue 周边库

  • vue-cli:vue 脚手架
  • vue-router:路由
  • vuex:状态管理(它是 vue 的插件但是没有用 vue-xxx 的命名规则)
  • vue-lazyload:图片懒加载
  • vue-scroller:页面滑动相关
  • mint-ui:基于 vue 的 UI 组件库(移动端)
  • element-ui:基于 vue 的 UI 组件库(PC 端)

2.初识Vue

前置工作

  1. 给浏览器安装 Vue Devtools 插件
  2. 标签引入Vue包
  3. (可选)阻止vue在启动时生成生产提示Vue.config.productionTip = false
  4. favicon 需要将页签图标放在项目根路径,重新打开就有了(shfit+F5 强制刷新)

初识Vue

  1. 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象
  2. root 容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法
  3. root 容器里的代码被称为Vue模板
  4. Vue 实例与容器是一一对应
  5. 真实开发中只有一个Vue实例,并且会配合着组件一起使用
  6. {{xxx}}中的 xxx 要写 js 表达式,且 xxx 可以自动读取到data中的所有属性
    注意区分:js 表达式 和 js代码(语句)
    1. 表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方
      a a+b demo(1) x === y ? ‘a’ : ‘b’
    2. js代码(语句)
      if(){} for(){}
  7. 一旦data中的数据发生变化,那么模板中用到该数据的地方也会自动更新(Vue实现的响应式)

初始示例代码

    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
<!-- 准备好一个容器 -->
<div id="demo">
	<h1>Hello,{{name.toUpperCase()}},{{address}}</h1>
</div>

<script type="text/javascript" >
	Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

	//创建Vue实例
	new Vue({
		el:'#demo', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
		data:{ //data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
			name:'hello,world',
			address:'北京'
		}
	});

</script>

3.模板语法和数据绑定

3.1模板语法

Vue模板语法有2大类:

  • 插值语法:

    功能:用于解析标签体内容

    写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性

  • 指令语法:

    功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)

    举例:v-bind:href="xxx" 或 简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性

    备注:Vue中有很多的指令,且形式都是 v-xxx,此处只是拿v-bind举例

代码

    <div id="root">
      <h2>插值语法</h2>
      <h4>你好,{{ name }}</h4>
      <hr />
      <h2>指令语法</h2>
      <a v-bind:href="tencent.url.toUpperCase()" x="hello">点我去看{{ tencent.name }}1</a>
      <a :href="tencent.url" x="hello">点我去看{{ tencent.name }}2</a>
    </div>

  <script type="text/javascript">
    new Vue({
      el: '#root',
      data: {
        name: 'jack',
        tencent: {
          name: '开端',
          url: 'https://v.qq.com/x/cover/mzc00200mp8vo9b/n0041aa087e.html',
        }
      }
    })
  </script>

image-20220627113847858

3.2数据绑定

Vue中有2种数据绑定的方式:

  • 单向绑定(v-bind):数据只能从data流向页面

  • 双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data

    tips:

    1.双向绑定一般都应用在表单类元素上(如:inputselect等)

    2.v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值

代码

<div id="root">
	<!-- 普通写法 单向数据绑定 -->
    单向数据绑定:<input type="text" v-bind:value="name"><br/>
    双向数据绑定:<input type="text" v-model:value="name"><br/>
    
    <!-- 简写 v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值-->
    单向数据绑定:<input type="text" :value="name"><br/>
    双向数据绑定:<input type="text" v-model="name"><br/>
    
    <!-- 如下代码是错误的,因为 v-model 只能应用在表单类元素(输入类元素)上 -->
	<!-- <h2 v-model:x="name">你好啊</h2> -->
</div>

<script>
    new Vue({
		el:'#root',
		data:{
			name:'jack',
        }
	})
</script>

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

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

相关文章

图解LeetCode——108. 将有序数组转换为二叉搜索树

一、题目 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 二、示例 2.1> 示例 1&#xff1a; 【输入】n…

企业邮箱大文件发送指南:推荐一个适用于大文件的邮箱服务

大多数电子邮件服务都不安全并且限制附件文件的大小&#xff0c;但是有一些方法可以安全地发送大文件。如果您曾尝试将多个图像或视频文件附加到电子邮件&#xff0c;您就会知道它并不总是有效。下面为大家介绍一款可以发送大文件的企业邮箱--Zoho Mail。 一、电子邮件发送大文…

【Python】Python系列教程--Python3 环境搭建(二)

文章目录 前言Python3 下载Python 安装Unix & Linux 平台安装 Python3:Window 平台安装 Python:MAC 平台安装 Python: 环境变量配置在 Unix/Linux 设置环境变量在 Windows 设置环境变量在命令提示框中(cmd) : 输入 Python 环境变量运行 Python1、交互式解释器&#xff1a;2…

品牌如何给自己创建一个百度百科词条,在百科上传企业资料方法

对于企业来说&#xff0c;很多人都想给自己企业或者品牌上传正面简介内容到百度百科平台&#xff0c;但创建一个品牌百度百科词条似乎并不是那么简答&#xff0c;很多自己尝试创建品牌百度百科词条的朋友最终都失败了&#xff0c;下面洛希爱做百科网教教大家如何给自己品牌创建…

1.矢量引入

目录 一.什么是矢量 1.1 定义 1.2 公理与体系 1.3 矢量几何化 二.矢量间的相互作用 1.点积 2.点积应用 3.叉积 4. 叉积应用 三.矢量除法 1.单用叉积无法唯一定义矢量除法 2.矢量除法 四.复杂相互作用 1.混合积 2.双叉积 3.Laplace公式 五.泛函的广义矢量理论…

从业十三年SEO大佬干货总结,满满五千字,图文结合,30min带你真正学会SEO

目录 seo优化 介绍seo是什么 网站更新&#xff1a; 网站排名在21世纪的意义: 网站为电商引流 百度算法规则 排名流程 seo策略 规则——“学会在线球里玩” 单页面收录显示 必要条件——链接数量 日志统计——及时优化seo策略 降低识别难度 收录越多排名就越大吗 …

B/S电子病历编辑器源码

电子病历编辑器&#xff0c;简称EMRE&#xff08;EMR Editor&#xff09;&#xff0c;是电子病历系统的核心关键基础技术。 B/S电子病历编辑器源码&#xff0c;带演示&#xff0c;自主研发&#xff0c;官方正版授权 ▶本套电子病历系统主要面向医疗机构医生、护士&#xff0c…

【远程办公】外网远程访问公司内网用友畅捷通T财务软件

文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 转发自cpolar极点云的文章&#xff1a;外网远程访问公司内网用友畅捷通T财务软件 – 远程办公 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求&#xff1b;全面支持企业对远…

微信小程序构建npm(js和ts)

先吐槽一下&#xff0c;官方文档写的就是一坨粑粑&#xff01;真垃圾 微信小程序构建npm js版本下构建npm1.需要在电脑上按照node&#xff0c;并确保环境变量配置完毕2.新建一个小程序项目&#xff0c;js版本3.从小程序根目录打开cmd命令行4.在命令行中执行npm init -y5.继续执…

Linux UIO驱动

目录 什么是UIO&#xff1f; UIO驱动与普通驱动的区别 How UIO works 重要的结构体 UIO驱动源码 APP实现 测试 UIO驱动的优缺点 UIO在DPDK中的使用 什么是UIO&#xff1f; UIO&#xff08;User-space I/O&#xff09;驱动是一种特殊的Linux内核驱动&#xff0c;允许设…

将 PDF 压缩到 1 MB 或更小的 5 个工具

鉴于工作和生活中PDF文件的频繁传输&#xff0c;压缩文件大小成为PDF文件必不可少的一步&#xff0c;尤其是对于包含大量高清图片的文件。压缩不仅使您的文件兼容发送&#xff0c;还有助于存储优化。这意味着您将获得更多数据空间&#xff0c;适用于本地设备和云端。 想要将 …

把控项目进度,这样做就够了

项目管理的核心在于确保项目成员明确项目目标和自己的职责&#xff0c;以此保证项目成功。类比于十字路口中的指路人&#xff0c;项目经理应该为团队提供清晰的方向&#xff0c;避免走错路。 一、项目进度跟踪 项目进度是制胜的关键&#xff0c;它决定了项目是否能够按时达成…

CDN如何进行内容缓存与内容预热

CDN的启用与管理 1、打开火伞云融合CDN系统控制后台-CDN管理 2、查看加速域名下的全部CDN服务&#xff0c;可以看到有部分厂商暂时处于未启用状态&#xff0c;这是因为这些厂商要求进行域名所有权校验后方可使用&#xff08;如果已经处于已启用状态的厂商则不用额外进行操作&…

Hadoop MapReduce入门实验:WordCount

环境&#xff1a;ubuntu 18.04&#xff0c; Hadoop 3.3.5 参考资料&#xff1a;Hadoop官网&#xff1a;MapReduce Tutorial 前置工作 运行Hadoop。 参考&#xff1a;单节点模式&#xff0c;集群模式 单节点模式&#xff08;for first-time users&#xff09; 在YARN上以pseu…

Istio 实现 ext-authz 外部扩展鉴权以及对接基于 k8s 的微服务

Istio 实现 ext-authz 外部扩展鉴权以及对接基于 k8s 的微服务 可以实现基于 redis 的 token 鉴权以及实现 rbac 鉴权。 转载请注明来源&#xff1a;https://janrs.com/vrsr Istio 的外部鉴权本质是基于 Envoy 实现的&#xff0c;直接看 Envoy 的代码&#xff0c;链接地址&…

Opencv 2

这里写目录标题 图像阈值平滑处理形态学 腐蚀操作膨胀操作开运算和闭运算梯度运算礼帽和黑帽图像梯度 sobel算子scharr算子canny边缘检测图像金字塔图像轮廓绘制轮廓轮廓特征轮廓近似边界矩形 模板匹配 图像阈值 平滑处理 均值滤波 blur cv2.blur(img,(3,3)) 相当于平均卷积…

基于Wi-Fi指纹匹配的室内定位方法(附代码)

引言 室内定位技术已广泛应用于商场导航、智能家居、人员搜救等领域&#xff0c;具有不可估量的商业价值和非常广阔的应用前景。全球导航卫星系统&#xff08;GNSS&#xff09;可以为室外定位提供良好的定位精度&#xff0c;然而在室内环境下卫星信号的衰减使得室内的位置信息…

day43|动态规划6-完全背包及其应用-零钱兑换II-组合总和IV

完全背包 前情提要&#xff1a; 0-1背包指的是给定背包重量&#xff0c;将物品放入背包中&#xff0c;使得背包中的物品达到最大的价值。&#xff08;每个物品只能往其中放一次&#xff09; 在0-1背包问题中&#xff0c;第二层for循环需要是倒序遍历才可以保证每个物品只使用一…

Pandas使用技巧

Pandas 是一个强大的数据分析 Python 库&#xff0c;提供了一系列用于数据清洗、转换、分析和可视化的 API。在使用 Pandas 进行数据处理时&#xff0c;常见的指令包括&#xff1a; 数据读取和解析 read_csv()&#xff1a;用于读取 CSV、Excel等格式的数据文件&#xff0c;并将…

大数据:HDFS存储原理,fsck命令查看文件副本状态,namenode元数据,edits流水账,fsimage合并,hdfs读取数据

大数据&#xff1a;HDFS存储原理&#xff0c;fsck命令查看文件副本状态&#xff0c;namenode元数据&#xff0c;edits流水账&#xff0c;fsimage合并&#xff0c;hdfs读取数据 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0…