vue入门:(模板语法与指令)

vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据。通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用到DOM操作上。

VUE的模板语法的内容包括:插值、指令。

插值包括:文本插值、原始HTML插值、特性插值、以及使用javascript表达式实现插值。

指令:参数、动态参数、修饰符。

缩写形式是指v-bind和v-on指定可以采用缩写形式:‘v-bind:‘-->‘:’、‘v-on‘-->‘@‘。

一、vue模板语法之插值

  • 文本插值
  • 原始HTML插值
  • 特性插值
  • javascript表达式实现插值
1.1文本插值:{{}}
1 <div id="user">{{userName}}</div>
2 <script>
3 new Vue({
4     el:‘#user‘,
5     data:{
6         userName:‘他乡踏雪‘
7     }
8 });
9 </script>

渲染结果:

<div id="user">他乡踏雪</div>
单次绑定:v-once

v-once单次渲染指令,只渲染元素和组件一次,随后的重新渲染,元素/组件及所有的子节点将被视为静态并跳过。这可以用于优化性能。

<!--v-once单次渲染-->
<span v-once>{{sex}}</span>
1.2原始HTML插值:v-html、v-text
 1 <div id="user" v-html="dataHtml"></div>
 2 <script>
 3 new Vue({
 4     el:‘#user‘,
 5     data:{
 6         userName:‘他乡踏雪‘,
 7         dataHtml:‘<div><span>昵称:</span><span>他乡踏雪</span></div><div><span>职业:</span><span>前端开发工程师</span></div>‘
 8     }
 9 });
10 </script>

渲染结果:

 1 <div id="user">
 2 <div>
 3 <span>昵称:</span>
 4 <span>他乡踏雪</span>
 5 </div>
 6 <div>
 7 <span>职业:</span>
 8 <span>前端开发工程师</span>
 9 </div>
10 </div>

这里的v-html和v-text同等与element.innerHTML和element.innerText的效果。但是这两个指令不能复合局部模板,就是说不能在数据中再插入模板语法,比如“<span>{{userName}}</span>”这个段v-html数据中的复合插入userName不会生效(v-text一样不生效)。

在vue官方文档中提到,需要谨慎使用v-html指令,不要对用户提供的内容执行v-html指令,因为很容易引发XSS攻击。

1.3特性插值:v-bind指令以及简写
 1 <div id="user" v-bind:class="className">{{userName}}</div>
 2 <script>
 3     new Vue({
 4         el:‘#user‘,
 5         data:{
 6             userName:‘他乡踏雪‘,
 7             className:‘userWarpper aaa‘
 8         }
 9     });
10 </script>

渲染结果:

<div id="user" class="userWarrper">他乡踏雪</div>

v-bind可以省略不写,比如示例中的代码可以写成:class="userName",关于元素特性插值需要重点关注的是比如class多个值怎么插入,又比如style行间的样式特性值又怎么插入。这一块是个独立的内容,后面独立分析。

1.4JavaScript表达式实现插值
1 <div id="user">{{userName + ‘~丹‘}}</div>
2 <script>
3     new Vue({
4         el:‘#user‘,
5         data:{
6             userName:‘他乡踏雪‘
7         }
8     });
9 </script>

渲染结果:

<div id="user">他乡踏雪~丹</div>

这里说的JavaScript表达式插值不是说在js代码中,而是可以将js表达式插入到HTML中,这些表达式会在所属vue实例的数据作用域下被识别作为javascript被解析,但是只能包含单个表达式,所以下面的例子不会生效

1 <!--这样的JavaScript表达式不会生效-->
2 <div>{{var userName = "他乡踏雪"}}</div>
3 <div>{{if(true){ return message }}}</div>

所以注意,三目运算可以有效执行,链式调用方法可以有效执行。

1 //可以被有效执行
2 {{ true ? ‘YES‘ : ‘NO‘ }}
3 {{ message.split(‘‘).reverse().join(‘‘) }}

二、指令之参数与修饰符

  • 参数
  • 动态参数
  • 修饰符

vuejs内置指令集:https://cn.vuejs.org/v2/api/#%E6%8C%87%E4%BB%A4

原文地址:https://www.cnblogs.com/ZheOneAndOnly/p/10977403.html

时间: 2024-08-25 10:09:30

vue入门:(模板语法与指令)的相关文章

Vue.js模板语法

Vue.js模板语法 Vue 实例 构造器 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例来启动的: var vm = new Vue({ // 选项 }) 属性与方法 每个 Vue 实例都会代理其 data 对象里所有的属性: var data = { a: 1 } var vm = new Vue({ data: data }) vm.a === data.a // -> true // 设置属性也会影响到原始数据 vm.a = 2 data.a // ->

VUE:模板语法(小白自学)

VUE:模板语法 一:何为声明式 安装规定的语法,去实现一些效果(不需要管流程). 二:模板语法 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!-- 1 模板的理解:动态的html页面,包含了一些js语法代码 双大括号表达式 指令(以v-开头的自定义标签属性)

Vue常用模板语法

常用模板语法 本篇将在上一篇的基础上记录文本渲染.表达式.过滤器以及常用指令的简单用法. 一.文本渲染 Vue支持动态渲染文本,即在修改属性的同时,实时渲染文本内容.同时为了提高渲染效率,也支持只渲染一次,即第一次渲染出文本后,文本内容不再跟随属性值的变化而变化. 实时渲染 1 <div class="row"> 2 <h2>文本 - 实时渲染</h2> 3 <input type="text" v-model="

vue介绍——模板语法

模板语法介绍 Vue.js使用了基于HTML的模板语法,允许开发者声明式地将dom绑定至底层Vue实例的数据.所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析. 在底层的实现上,Vue将模板编译成虚拟dom渲染函数.结合响应式系统,Vue能够智能的重新计算出最少需要重新渲染多少组件,并把dom操作次数减少到最少. 如果熟悉虚拟dom并且偏爱JavaScript的原始力量,也可以不用模板,直接写渲染函数,使用可选的JSX语法. 插值--文本 数据绑定最常用的就

Vue基础模板语法的认识

模板语法 mustache 语法中是支持写js的 用法: 内容: 必须加 {{ js语法 }} 属性: 属性中属性值可以直接写js语法,并且属性值中的数据相当于全局变量 给一个标签加一个自定义属性/已有属性 img中的src就是已有属性<img src = "" /> ?//data-index就是自定义属性 , web网页中建议我们使用data-形式来定义自定义属性<img data-index = "0" />? 思考: Vue现在想要在

一起学Vue之模板语法

概述 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析. 普通文本 数据绑定最常见的形式就是使用“Mustache[小胡子]”语法 (双大括号) 的文本插值,无论何时,绑定的数据对象上 msg 属性发生了改变,插值处的内容都会更新. 1 <span>{{msg}}</span> 通过使用 v-once 指令,执行一次性插值,

vue入门模板——只需一个html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>vue模板</title> <link rel="stylesheet" type="text/css" href="//unpkg.com/[email protected]/lib/theme-chalk/index.css"

Vue入门(二) 指令

v-once 执行一次性地插值,不更新 v-html 输出真正的 HTML v-bind  接受一个"参数",在指令后以冒号指明 e.g:id,disabled v-if  bool v-on 监听 DOM 事件 v-on:submit.prevent 修饰符(Modifiers)是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定

Vue入门---安装及常用指令介绍

1.安装 BootCDN----官网https://www.bootcdn.cn/ <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script> //或者 <script src="https://unpkg.com/vue/dist/vue.js"></script> npm npm i vue --save-dev bower bower i v