在项目中,可以看到很多.vue结尾的文件,它们是什么呢?

1)vue文件是单文件组件

  • 后缀名是.vue
  • webpack会使用额外的loader来处理它
  • 一个.vue文件就是一个组件(页面)
  • 整个项目(页面)就是由多个组件构成的

2)基本组成

由三个部分组成:template + script + style

  • template : 决定模块。类似于.html
  • script: 代码逻辑。类似于.js
  • style: 样式
<template><div class="box">我是html模板</div>
</template><script>// 我是js逻辑export default {data() {return {// 定义变量,数据}}}
</script><style>/* 我是css样式 */.box {color:red}
</style>

提示:vscode中使用开发使用插件

小结:

  • .vue 是单文件组件
  • 一个页面由多个组件构成的
  • 有三个内容
  • template (必要的) 结构

    • script:交互
    • style:样式

vue基础-1:插值表达式

vue有一个最基本的功能: 数据渲染。 将数据(变量,或者利用ajax从后端获取到的数据)展示到页面上。这里它不会直接操作dom,而是有自己的语法。

在vue中{{ }}语法,叫做:插值表达式,大白话就是输出{{ }}中的表达式的值的语法。

把{{ }} 理解为一个占位符(一个坑), {{ msg }} 就是把msg显示在这个占位符中(把msg插到坑里面边去)。

 注意:

{{ }} 可以

  • 写data数据字段名称
  • 对data数据字段进行表达式运算
    • 拼接
    • 算术运算
    • 三元运算
    • 一句话:能console.log()的都能写在里面

{{}}不能:

  • js语句:声明变量,分支,循环
  • 访问在vue实例中的data之外定义的自定义的变量

3)vue中的指令

{ }}可以用来把数据显示在视图上,但它的功能还是相当有限的。例如,如果是一个列表数据(数组)希望使用循环来显示,它就做不到了。所以我们需要继续学习vue的指令系统。

指令

vue提供了指令(directive)功能,这些指令都是以v-开头(例如:v-for ),它们从形式上来看是标签的自定义属性(只不过是由vue提供的)

vue基础-2:v-bind

作用

v-bind用来动态绑定标签上的属性的值。(标签上的属性值不能使用插值表达式来设置)。

格式

bind:绑定。以前学习过,用它来改变this的指向

一般在是在属性名的=里面写一个data中的数据项,  :属性名="数据项" 称之为:把x绑定在y属性上。

v-bind指令有简写用法 : 冒号,例如:

vue基础-3:v-for

目标

学习v-for的用法

功能

列表渲染, 所在标签结构, 按照数据数量, 循环生成

语法

<标签 v-for="(值, 索引或者属性名) in 目标结构" :key="唯一值"></标签>

  • 索引可以省略
  • 目标结构可以是:数组 / 对象 / 数字

 特点:

  1. v-for的功能是对标签进行循环生成
  2. 快速把数据赋予到相同的dom结构上循环生成

vue基础-4:v-text/v-html

语法:

  • v-text="vue数据变量"
  • v-html="vue数据变量"

特点:

v-text把值当成普通字符串显示, v-text ===> innerText

v-html把值当做html解析,v-html ===> innerHTML

 vue基础-5:v-if/v-show

作用

控制标签的可见与不可见

语法

  • <标签 v-show="vue变量" />
  • <标签 v-if="vue变量" />

如果vue变量的值为true,就可见,否则就不可见。

原理

  • v-show 用的display:none隐藏   (频繁切换使用)
  • v-if  直接从DOM树上添加或移除

 特点:

  • v-show 性能较好,对应需要频繁切换显示与隐藏的功能,可以使用v-show。
  • 注意无论变量是否为true还是false,它一定会创建元素的。
  • v-if 会动态创建和删除元素。
  • 在频繁的切换可见与不可见时,它的效率会低一点
  • 如果变量的值为false,它将不会创建元素

特殊的适用v-if的场景:如果是登陆用户就显示头像 <img src="xxx" v-if="isLogin">

vue基础-6:v-if,v-else-if,else

功能

模板中的选择结构

格式

与js中的if选择结构是一致的。

<标签 v-if="条件">        </标签>
<标签 v-else-if="条件">   </标签>
<标签 v-else-if="条件">   </标签>
<标签 v-else>             </标签>

vue基础-7:v-on

作用

给标签绑定事件

语法

  1. <标签 v-on:事件名="要执行的少量代码" >
  2. <标签 v-on:事件名="methods中的函数" >
  3. <标签 v-on:事件名="methods中的函数(实参)">

注意

  1. v-on可以简写成 @。 即 @事件名="methods中的函数"
  2. 事件名可以是任意合法的dom事件
  3. 无传参, 通过形参直接接收
  4. 传参, 通过$event指代事件对象传给事件处理函数
<template><div><!-- 1. <标签 v-on:事件名="要执行的少量代码" >2. <标签 v-on:事件名="methods中的函数" >3. <标签 v-on:事件名="methods中的函数(实参)">--><h2>v-on</h2><p>num:{{num}}</p><button v-on:click='num=2'>执行少量的代码</button><br><button @mouseenter='fn'>执行methods中的函数</button><br><button v-on:click='fn2(100)'>执行methods中的函数,传入实参</button><br><button v-on:click='fn3()'>this指向</button><!-- 1. v-on可以简写成 @。 即  @事件名="methods中的函数"2. 事件名可以是任意合法的dom事件--></div></template><script>
export default {data(){return{num:1,age:18}},//vue配置项//定义函数//this指向当前的组件methods:{fn:function(){console.log('fn')},fn2(n){this.num=this.num+nconsole.log(this)},fn3(){console.log(this,this.age)this.fn()}}
}
</script><style></style>

vue基础-8:v-methods(this)

作用

它是一个对象,在这个对象中定义函数

使用场景

  1. 与v-on配合使用
  2. 在methods内部访问数据。this.xxx
  3. 在methods内部调用其他的methods

vue指令-9:v-on修饰符

一.事件修饰符

语法:

<标签 @事件名.修饰符="methods里函数" />

  • .stop - 阻止事件冒泡
  • .prevent - 阻止默认行为
  • .once - 程序运行期间, 只触发一次事件处理函数

vue指令-10:v-on按键修饰符

目标: 给键盘事件, 添加修饰符, 增强能力

  • 语法:
  • @keyup.enter  -  监测回车按键
  • @keyup.esc     -   监测返回按键

vue指令-11:v-model双向绑定(表单绑定)

目标: 把value属性和vue数据变量, 双向绑定到一起

  • 语法: v-model="data数据变量"
  • 双向数据绑定
  • 数据变化 -> 视图自动同步
  • 视图变化 -> 数据自动同步

 意点:v-model不能和value同时使用

输入和选择的绑定

总结: v-model适用于表单开发,自动获取用户输入或选择数据。

vue指令-12:v-model修饰符

目标: 让v-model拥有更强大的功能

  • 语法:
  • v-model.修饰符="vue数据变量"
  • .number   以parseFloat转成数字类型
  • .lazy         在失去焦点时触发更改而非inupt时
  • .trim         去除首尾空白字符
<template><div><div><span>年龄:</span><input type="text" v-model.number="age"></div><div><span>人生格言:</span><input type="text" v-model.trim="motto"></div><div><span>自我介绍:</span><textarea v-model.lazy="intro"></textarea></div></div>
</template><script>
export default {data() {return {age: "",motto: "",intro: ""}}
}
</script>

总结: v-model修饰符, 可以对值进行预处理, 非常高效好用。

vue模板语法是什么?相关推荐

  1. 4.Vue 模板语法

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. Vue模板语法 这篇文章我们来 ...

  2. (vue基础试炼_08)Vue模板语法

    文章目录 一.插值表达式 二.v-text 中不是字符串而是js表达式 三.v-html 四.js表达式,可以和字符串拼接 五.源码链接 一.插值表达式 <!DOCTYPE html> & ...

  3. 用vue语法写html,Vue -- 模板语法

    Vue 模板语法 1.vue 和大多数后台语言,甚至是和art-template 这种前端模板库一样,都有一套,特定的语法来把数据渲染在html上. Mustache -- 大胡子语法 1.大胡子的语 ...

  4. Vue基础——VueJS是什么、Vue的优缺点、vue2和vue3的模板区别、MVVM数据双向绑定、Vue的安装和使用、Vue模板语法-文本渲染、常用的vue的指令

    目录 一.VueJS是什么? 二.Vue的优缺点 三.MVVM 数据双向绑定 四.Vue的安装和使用 五.Vue模板语法-文本渲染 六.常用的vue的指令 一.VueJS是什么? 它是一个轻量级MVV ...

  5. Vue2.x 核心基础(Vue概述,Vue基本使用,@vue/cli脚手架,Element-UI 的基本使用,Vue模板语法)

    1. Vue概述 尤雨溪:Vue.js的创建者 2014年2月,Vue.js正式发布 2015年10月27日,正式发布1.0.0 2016年4月27日,发布2.0的预览版本 Vue:渐进式JavaSc ...

  6. Vue框架---Vue模板语法(二)

    样式绑定 1.class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 <div id="ad& ...

  7. Vue模板语法的缩写是什么?

    Vue模板语法缩写是VTL(View Template Language),这是一种用于构建用户界面的声明式编程语言.它基于HTML,但具有更强大的数据绑定功能.下面是一些VTL的例子: 绑定文本: ...

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

    1.Vue简介 1.1官网 英文官网 中文官网 1.2介绍与描述 Vue 是一套用来动态构建用户界面的渐进式JavaScript框架 ○构建用户界面:把数据通过某种办法变成用户界面 ○渐进式:Vue可 ...

  9. Vue模板语法---vue工作笔记0003

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 我们再去看一下vue的模板语法: 首先看看上一节看的那个mvvm的模型. 中间这个viewMode ...

  10. Vue 模板语法、事件和表单使用

    模板语法 文本绑定,两个大括号,中间加上data里面的数据,message里面不仅可以是变量还可以是表达式 <body><div id="main">// ...

最新文章

  1. 获取邮箱通讯录,msn好友列表的C#源码
  2. 五、MySql索引基本介绍
  3. 用一个栈实现另一个栈的排序
  4. spring18:aop介绍
  5. 【信息化】CIO议题营销模型
  6. Visual Studio调试之断点基础篇
  7. 利用JMeter进行Web测试(简介适合初学者)
  8. 100 以内的数的研究
  9. java bfs dfs_java优先搜索(DFS/BFS)实际应用
  10. 怎么用百度搜索php网站,PHP简单获取网站百度搜索和搜狗搜索收录量的方法
  11. python通过GUI 界面搭建实现嵌套功能_搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股...
  12. 迅雷网速测试器 - 下载速率测试记录
  13. MOSSE 相关滤波器详解
  14. 基于范德蒙矩阵的Erasure code技术详解
  15. 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
  16. 计算机基础技能应用查询中心,《计算机基础及技能训练》大纲
  17. WebGL矩阵变换总结(模型矩阵,视图矩阵,投影矩阵)
  18. 用editplus删除csv文件中的软回车
  19. 【Tableau 图表大全27】之区域图(面积图)
  20. 让Downpour的Spring Security 2 配置精讲简单化,大家一起学习

热门文章

  1. CUDA(19)之PTX优化原理
  2. and true和if都是python语言的保留字_python自学 第三章 python语言基础之保留字、标识符与内置函数...
  3. Windows 10最新原版镜像(Version 21H1)
  4. 嵌入式系统概述及特点
  5. 高数-(01)函数与极限
  6. 2023 年软件文档工具,这5款可以看看!
  7. 强化学习之迷宫Q-Learning实践笔记——入门篇
  8. 双圆环环布带系法图解_魔术(连环扣)两个环之间是怎样穿过去的
  9. 3934:C 10 Aug 2022 00:14:04.239 # Fatal error, can‘t open config file ‘/usr/local/redis/./redis-conf
  10. atof(),atoi(),itoa(),sprintf()等用法总结