1.模板语法的概述

  (1)如何理解前端渲染

    将数据填充到HTML标签中,生成静态的HTML内容

2.前端渲染方式

  (1)原生JS拼接字符串

  (2)使用前端模板引擎

  (3)使用Vue特有的模板语法

3.Vue模板语法

  (1)插值表达式

  (2)指令

  (3)事件绑定

  (4)属性绑定

  (5)样式绑定

  (6)分支循环结构

4.指令

  (1)什么是自定义属性?

  (2)指令的本质就是自定义属性

  (3)指令的格式:以v-开头

5.指令介绍

  (1)v-cloak指令用法

    插值表达式存在的问题:当浏览器卡顿时,刷新页面,会出现双大括号问题

    解决对策:使用v-cloak指令

    解决该问题的原理:先隐藏样式的内容,之后在内存中进行值的替换,替换好之后再显示最终效果

  (2)数据绑定指令

    (2.1)v-text 填充纯文本

      相比插值表达式更加简洁

    (2.2)v-html

      本身存在问题,会遭到XSS攻击

      本网站内部数据可以使用,来自第三方的数据不可使用

    (2.3)v-pre填充原始信息

      跳过编译过程,显示原始信息

   (3)数据响应式

    (3.1)如何理解数据响应式?

      HTML5中的数据响应式: 由于屏幕尺寸的变化导致样式的变化

      数据的响应式: (数据的变化导致页面内容的变化)

    (3.2)什么是数据绑定?

      将数据填充到标签中

    (3.3)v-once 只编译一次

      显示内容之后不再具有响应式的功能

  (4)双向数据绑定指令

    (4.1)什么是双向数据绑定

      页面内容的变化引起模型数据的变化

      模型数据的变化引起页面内容的变化

    

    (4.2)双向数据绑定指令v-model

1 <input type="text" v-model='msg'>

    其中的v-model的值是模型数据的值

    (4.3)MVVM设计思想

      M(Model)、V(View)、VM(View-Model)

      View(DOM)  ---(DOM Listener)--->   Model(JavaScript Object)

              <---(Data Bindings)---

2022年01月14日08:35:02

  (5)事件绑定

    (5.1)Vue如何处理事件?

       v-on指令用法

1 <button v-on:click='num++'>点击</button>

       v-on简写形式

1 <button @click='num++'>点击1</button>

    (5.2)事件函数的调用方式

      在定义的Vue实例中使用methods在其中写事件函数

      直接绑定函数名称

1 <button v-on:click='handle'>点击2</button>

      调用函数

1 <button v-on:click='handle()'>点击3</button>

    (5.3)事件函数参数传递

      普通参数和事件对象

1 <button v-on:click='handle2(123,456,$event)'>点击2</button>     
      事件绑定-参数传递
        1、如果事件直接绑定函数名称,那么默认会传递事件对象作为事件函数的第一个参数
        2、如果事件绑定函数调用,那么事件对象必须作为最后一个参数显示传递,并且事件对象的名称必须是$event
      

        event.target.tagName    输出标签名
        event.target.innerHTML    输出标签中的内容
 
    (5.4)事件修饰符
      .stop      阻止冒泡
      传统的原生JS通过事件对象.stopPropagation()来阻止冒泡
1 <button v-on:click.stop='handle1'>点击1</button>
      .prevent  阻止默认行为
      传统的原生JS通过事件对象.preventDefault()来阻止默认行为
1 <a href="https://www.baidu.com" v-on:click.prevent='handle2'>百度</a>

    (5.5)按键修饰符

      .enter 回车键  

1 <input type="text" v-model='pwd' v-on:keyup.enter='handleSubmit'>

      .delete 删除键

1 <input type="text" v-model='uname' v-on:keyup.delete='clearContent'>

  

    (5.6)自定义按键修饰符

      全局 config.keyCodes对象

1 Vue.config.keyCodes.aaa = 65;

    (5.7)属性绑定

      v-bind指令用法

1 <a v-bind:href="url">百度</a>

      缩写形式

1 <a :href="url">百度1</a>

      v-model底层原理实现分析

1 <input type="text" v-bind:value="msg" v-on:input='msg=$event.target.value'>

    (5.8) 样式绑定

      class样式处理

        对象语法

1 <div v-bind:class="{active:isActive,error:isError}">测试样式</div>

        数组语法

1 <div v-bind:class="[activeClass,errorClass]">测试样式</div>

      

      style样式处理

        对象语法

1 <div v-bind:style='{border:borderStyle, width:widthStyle, height:heightStyle}'></div>

        数组语法

1 <div v-bind:style='[objStyles,overrideStyles]'></div>

    

    (5.9) 分支结构

       v-if

       v-else

       v-else-if

       v-show: v-show的原理:控制元素样式是否显示 display:none

      

1 <div v-if='score>=90'>优秀</div>
2 <div v-else-if='score<90 && score >=80'>良好</div>
3 <div v-else-if='score<80 && score >60'>一般</div>
4 <div v-else>不及格</div>

       v-show与v-if的区别

         (1)v-if控制元素是否渲染到页面

         (2)v-show控制元素是否显示(已经渲染到页面)

       

    (5.10)循环结构

      v-for遍历数组

1 <li v-for='item in fruits'>{{item}}</li>
2 <li v-for='(item,index) in fruits'>{{item + '-------' + index}}</li>

      key的作用:帮助vue区分不同的元素,从而提高性能        

1 <li :key='item.id' v-for='(item,index) in fruits'>{{item + '-------' + index}}</li>

      v-for遍历对象

<div v-for='(value,key,index) in obj'>{{value + '---' + key + '---' + index}}</div>

       v-for和v-if结合使用

1 <div v-if='value==12' v-for='(value,key,index) in obj'>{{value + '---' + key + '---' + index}}</div>

  

  声明式编程:模板的结构与最终显示的效果基本一致

  

2.Vue模板语法的更多相关文章

  1. Vue模板语法(二)

    Vue模板语法(二) 样式绑定  class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑 ...

  2. Vue模板语法(一)

    Vue模板语法 一.插值 1.1.1 文本 {{msg}} 1.1.2 html 使用v-html指令用于输出html代码 1.1.3 属性 HTML属性中的值应使用v-bind指令 1.1.4 表达 ...

  3. Vue模板语法(一)

    Vue模板语法 一 vue简介 Vue.js是一套构建用户界面的渐进式框架. 与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层,并且非常容易学习,非常容易与 ...

  4. Vue 模板语法 && 数据绑定

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  5. 初始Vue、Vue模板语法、数据绑定(2022/7/3)

    文章目录 1.Vue简介 1.1.Vue的安装使用 1.2.实际的运用案例 1.3.vue开发工具的使用(这个需要在浏览器中安装) 2.初始Vue 2.1 .基础知识 2.1 .代码实例 2.2 .页 ...

  6. (Vue)vue模板语法

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. ...

  7. Vue模板语法与常用指令

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数,结合相应系统,在应用状态改变时 ...

  8. Vue模板语法(二)

    Vue基础模板语法 二 1. 样式绑定 1.1 class绑定      使用方式:v-bind:class="expression"       expression的类型:字符 ...

  9. (32)Vue模板语法

    模板语法 文本: <span>Message: {{ msg }}</span> v-once 一次性地插值,当数据改变时,插值处的内容不会更新 <span v-once ...

  10. 11 - Vue模板语法

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. 所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML ...

随机推荐

  1. ABAP 指定字符替换为空格

    上代码 DATA:str1 TYPE string VALUE '小红##爱#six##小绿#666'. *******DATA(str1) = '小红##爱#six##小绿#666'. " ...

  2. 常用软件版本记录 lisoaring

    操作系统 windows XP(2014年4月8日) windows 7(2020年1月14日终止支持) wiindows 10 Internet Explorer 1995-20220507 Fla ...

  3. 修改文件时mmap如何处理

    拷贝二进制(elf)文件 在拷贝二进制文件的时候,如果文件是一个可执行文件,并且有一个进程在运行这个可执行文件,那么拷贝的时候会出现"文本忙"(ETXTBSY)的错误提示,并且拷贝 ...

  4. C#windows 服务 《转载》

    转自:https://blog.csdn.net/Code_May/article/details/123909870 c#应用Windows服务 背景 一.创建windows服务 1.创建windo ...

  5. logback 日志脱敏处理

    1.按正则表达式脱敏处理 参考: https://www.cnblogs.com/htyj/p/12095615.html http://www.heartthinkdo.com/?p=998 站在两 ...

  6. 【C学习笔记】day2-5 求两个数的最大公约数

    #include <stdio.h> int main() { int a, b; int min; scanf_s("%d %d", &a, &b); ...

  7. VUE中如何使用MOCK

    安装mockjs npm install mockjs 可以使用数据模板生成模拟数据. Mock.mock( rurl?, rtype?, template ) ) // 或者 Mock.mock( ...

  8. Oracle 数据库升级过程中的主要步骤

    Oracle 数据库升级包括六个主要步骤. Oracle 数据库的升级步骤工作流 步骤 1:准备升级 Oracle 数据库 熟悉 Oracle 数据库新版本的特性. 确定新版本的升级路径. 选择升级方 ...

  9. NX二次开发,对象上色

    #include <uf_defs.h> #include <uf_ui_types.h> #include <uf.h> #include <uf_ui.h ...

  10. go实现ls

    package mainimport ( "fmt" "log" "os")func main () { f,err :=os.Open(& ...