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

2023-11-19

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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

01 【Vue简介 初识Vue 模板语法和数据绑定】 的相关文章

随机推荐

  • java resource注解_关于 java中的 @Resource注解和@Autowired注解

    Resource 建议用 类全称 javax annotation Resource 默认注入方式 byName 反射机制 指定注入方式 a 如果使用name属性 则使用byName自动注入策略 gt Resource name good
  • linux 动态库so相关操作

    1 查看库版本号 一般在文件名上有版本号 若文件名上没有版本号 使用如下命令查看 readelf d libstdc so 2 查看库内函数 a nm d libstdc so grep 内容 b objdump tT libstdc so
  • kafka问题解决:org.apache.kafka.common.errors.TimeoutException

    记录使用kafka遇到的问题 1 Caused by java nio channels UnresolvedAddressException null 2 org apache kafka common errors TimeoutExc
  • 基于chatGLM-6B模型微调详细教程(linux版)(ptuning & lora)

    目录 准备工作 安装7z ptuning预训练 ChatGLM 6B Ptuning 7z 懒人包下载 上传文件并解压缩 拉取依赖 进行训练 启动服务 注意事项 揽睿星舟云算力平台 lora预训练 chatGLM All In One 7z
  • sqli-labs Less-8

    Less 8 Get Blind Boolian Based Single Quotes 1 原页面 2 id 1 3 id 1 4 尝试布尔盲注 代码存在sql注入漏洞 然而页面既不会回显数据 也不会回显错误信息 我们可以通过构造语句 来
  • Qt入门学习之常用界面设计组件(五)

    1 QComboBox QPlainTextEdit简介 QComboBox是下拉列表框组件类 它提供了一个下拉表供用户选择 也可以直接当作一个QLineEdit用作输入 QComboBox除了显示可见下拉列表外 每一个项 item 或称列
  • python爬虫与数据可视化报告_Python爬虫以及数据可视化分析!

    原标题 Python爬虫以及数据可视化分析 简单几步 通过Python对B站番剧排行数据进行爬取 并进行可视化分析 源码文件可以参考Github上传的项目 https github com Lemon Sheep Py tree maste
  • 六、SpringBoot——SpringMVC自动配置&扩展配置(web定制)

    1 SpringMVC自动配置 org springframework boot autoconfigure web web的所有web自动场景 以SpringMVC为例 Spring Boot 自动配置好了SpringMVC 以下是Spr
  • vue jest单元测试

    一 渲染 mount 和 shallowMount 1 1 mount 和 shallowMount vue test utils 提供了两种方式用于渲染 或者说 加载 mount 一个组件 mount 和 shallowMount 一个组
  • SQLite存取二进制数据

    程序功能 使用SQLite的C API操作SQLite数据库 存取二进制数据 用来测试的文件都小于65535字节 没有测试更大的文件 参考文档 http www cntxk com CataNews 56 info8106 html 编译环
  • C语言操作符的那些事(详细全)

    前言 C语言中操作符不多 但是有些相同的操作符都是在不同的表达式中 有不同的解释意思 比如 号 在表达式中5 5表示乘号 在int p表示指针 在 p 10中 又表示解引用 所以今天就来详细的整理一下C语言中的操作符 做到心中有数 可以一眼
  • 惊天大神坑 关于 python-socketio 与 socket.io-client 版本兼容问题

    在使用fastapi进行开发中 使用python socketio作为socketi库 前端项目使用vue开发 配合socket io client作为client端 我的python socketio版本号为4 6 0 前端socket
  • Java代码常用功能实现总结

    目录 1 获取当前系统时间 2 获取当前时间戳 3 获取主机名和IP 4 new String用法 5 ByteBuffer和String的互相转换 6 int和string相互转换 7 把多个json放到list中 8 List集合去除重
  • MarkdownPad2 下一些设置

    MarkdownPad2注册码 邮箱 Soar360 live com 授权秘钥 GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2 M5SN6bnxn2k
  • hive之生成唯一id

    1 针对没有变话的一张表生成id 表中数据固定不会增加修改 ROW NUMBER over 针对所有数据生成自增id 即使所有数据都相同 2 针对没有变化的表 根据字段生成自增id 注意cc11 和cc12我故意没按顺序摆放 这样做的好处是
  • tkinter+socket实现基本的实时收发消息

    tkinter sockte实现基本的实时收发 tkinter tkinter是比较简单的GUI界面设计块 有许多控件基本能实现很多简单的功能 比如很多应用软件安装时的GUI都可以实现 在这个的功能里只用到模块的按钮 Button 输入框
  • 当我们谈人工智能 我们在谈论什么

    我们对一个事物的认识模糊往往是因为宣传过剩冲淡了理论的真实 我们陷在狂欢里 暂时忘记为什么要狂欢 如何踏上这趟飞速发展的列车成为越来越多人心心念念的事情 人工智能的浪潮更像是新闻舆论炒起来的话题 城外的人想进去 城内的人也不想出来 当我们谈
  • Apache RocketMQ 远程代码执行漏洞(CVE-2023-33246)

    漏洞简介 RocketMQ 5 1 0及以下版本 在一定条件下 存在远程命令执行风险 RocketMQ的NameServer Broker Controller等多个组件外网泄露 缺乏权限验证 攻击者可以利用该漏洞利用更新配置功能以Rock
  • Typora常用快捷键

    Typora常用快捷键大全 ctrl 1到6 1 6级标题 标题用ctrl H是没用的 ctrl shift k 随时随地插入代码块 极为方便 ctrl t 创建表格 也可直接输入 列1 列2 列3 并回车来创建表 ctrl shift q
  • 01 【Vue简介 初识Vue 模板语法和数据绑定】

    1 Vue简介 1 1官网 英文官网 中文官网 1 2介绍与描述 Vue 是一套用来动态构建用户界面的渐进式JavaScript框架 构建用户界面 把数据通过某种办法变成用户界面 渐进式 Vue可以自底向上逐层的应用 简单应用只需要一个轻量