Vue模板语法(一)

Vue模板语法 一

vue简介

Vue.js是一套构建用户界面的渐进式框架。

与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。

Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。

另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。

因此它非常容易学习,非常容易与其它库或已有项目整合。

另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。

1、vue插值

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>vue的插值案例</title>
 6         <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
 7     </head>
 8     <body>
 9         <div id="app">
10             <ul>
11                 <li>
12                     <h3>文本</h3>
13                     {{msg}}
14                 </li>
15                 <li>
16                     <h3>html标签渲染</h3>
17                     <div v-html="htmlStr"></div>
18                 </li>
19                 <li>
20                     <h3>v-bind属性绑定指令</h3>
21                     未绑定:<input type="text" value="22" />
22                     <!-- v-bind简写 :  -->
23                     v-bind绑定:<input type="text" :value="age" />
24                 </li>
25                 <li>
26                     <h3>表达式</h3>
27                     {{str.substr(0,6).toUpperCase()}}
28                     {{ number + 1 }}
29                     {{ ok ? ‘YES‘ : ‘NO‘ }}
30                 <li v-bind:id="‘list-‘ + id">我的Id是js动态生成的</li>
31                 </li>
32             </ul>
33         </div>
34
35     </body>
36     <script type="text/javascript">
37         new Vue({
38             el: "#app",
39             data: {
40                 msg: ‘hello Vue!!‘,
41                 htmlStr: ‘<span style="color: red;">红色小猪佩奇</span>‘,
42                 age: 23,
43                 str:‘https://www.baidu.com‘,
44                 number:6,
45                 ok:true,
46                 id:21,
47             },
48         })
49     </script>
50
51 </html>

2、vue指令

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>vue的指令案例</title>
 6         <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
 7     </head>
 8     <body>
 9         <div id="app">
10             <ul>
11                 <li>
12                     <h3>分支</h3>
13                     <div v-if="score>90">A</div>
14                     <div v-else-if="score>80">B</div>
15                     <div v-else-if="score>70">C</div>
16                     <div v-else-if="score>60">D</div>
17                     <div v-else="">E</div>
18                     <input type="text" v-model="score" />
19                 </li>
20                 <li>
21                     <h3>v-show指令</h3>
22                     <div v-show="flag">出来吧!1</div>
23                     <!-- 分清楚v-if跟v-show的区别
24                         v-if:控制的是标签是否答应
25                         v-show:控制的是标签的样式
26                      -->
27                     <div v-if="flag">出来吧!2</div>
28                 </li>
29                 <li>
30                     <h3>v-for指令</h3>
31                     <div v-for="item,index in data1">
32                         {{item}}~{{index}}<br>
33                     </div>
34                     <hr />
35                     <div v-for="item,index in data2">
36                         {{item.id}}~{{item.name}}~{{index}}<br>
37                     </div>
38                 </li>
39                 <li>
40                     <h3>动态事件调用</h3>
41                     <button v-on:[evname]="xxx">动态事件调用</button>
42                     <input type="text" v-model="evname" />
43                 </li>
44             </ul>
45         </div>
46
47     </body>
48     <script type="text/javascript">
49         new Vue({
50             el: "#app",
51             data: {
52                 score: 88,
53                 flag: true,
54                 data1: [1, 3, 6, 9, 14],
55                 data2: [{
56                     id: 1,
57                     name: ‘游戏‘
58                 },
59                 {
60                     id: 2,
61                     name: ‘篮球‘
62                 },
63                 {
64                     id: 3,
65                     name: ‘唱歌‘
66                 }],
67                 evname:‘click‘
68             },
69             methods:{
70                 xxx(){
71                     console.log(‘xxx方法被调用‘)
72                 }
73             }
74         })
75     </script>
76
77 </html>

3、vue过滤器

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>vue的过滤器案例</title>
 6         <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
 7     </head>
 8     <body>
 9         <div id="app">
10             <ul>
11                 <li>
12                     <h3>局部过滤器的注册</h3>
13                     {{msg}}<br>
14                     {{msg|a}}<br>
15                     {{yuan|a}}
16                 </li>
17                 <li>
18                     <h3>局部过滤器的串联</h3>
19                     {{yuan|a|b}}<br>
20                 </li>
21                 <li>
22                     <h3>全局过滤器的注册</h3>
23                     {{yuan|c}}<br>
24                 </li>
25             </ul>
26         </div>
27
28     </body>
29     <script type="text/javascript">
30         Vue.filter(‘c‘,function(v){
31             console.log(v)
32             return v.substring(8,16);
33         })
34
35         new Vue({
36             el: "#app",
37             data: {
38                 msg: ‘https://www.baidu.com‘,
39                 yuan:‘https://www.yuan.com‘
40             },
41             filters:{
42                 // a是过滤器的名字,后面的函数是过滤器的作用
43                 ‘a‘:function(v){
44                     console.log(v)
45                     return v.substring(0,18);
46                 },
47                 ‘b‘:function(v){
48                     console.log(v)
49                     return v.substring(5,14);
50                 }
51             }
52         })
53     </script>
54
55 </html>

4、计算属性监听属性

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title>vue的计算属性监听属性案例</title>
 6         <script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
 7     </head>
 8     <body>
 9         <div id="app">
10             <ul>
11                 <li>
12                     <h3>计算属性</h3>
13                     商品1
14                     单价:<input v-model="price1" />
15                     数量:<input v-model="num1" />
16                     总价:{{total1}}<br />
17                     商品2
18                     单价:<input v-model="price2" />
19                     数量:<input v-model="num2" />
20                     总价:{{total2}}
21                     <hr />
22                     合计:{{count}}
23
24                 </li>
25                 <li>
26                     <h3>监听属性</h3>
27                     km:<input v-model="km" />
28                     m:<input v-model="m" />
29                 </li>
30             </ul>
31         </div>
32
33     </body>
34     <script type="text/javascript">
35         new Vue({
36             el: "#app",
37             data: {
38                 price1:16,
39                 price2:20,
40                 num1:1,
41                 num2:1,
42                 km:1,
43                 m:1000
44             },
45             computed:{
46                 total1(){
47                     return parseInt(this.price1)*parseInt(this.num1);
48                 },
49                 total2(){
50                     return parseInt(this.price2)*parseInt(this.num2);
51                 },
52                 count(){
53                     return parseInt(this.total1)+parseInt(this.total2)
54                 }
55             },
56             watch:{
57                 km(v){
58                     this.m=v*1000;
59                 },
60                 m(v){
61                     this.km=v/1000;
62                 }
63             }
64         })
65     </script>
66
67 </html>

谢谢观看!!!

原文地址:https://www.cnblogs.com/ly-0919/p/11378816.html

时间: 2024-10-13 16:02:50

Vue模板语法(一)的相关文章

vue 模板语法

模板语法 Vue.js使用了基于HTML的模板语法,允许开发者声明式将DOM绑定至底层Vue实例的数据.所有Vue.js的模板都是合法的HTML,所以可以被遵循规范的浏览器和HTML解析器解析. 在底层的实现上,Vue将模板编译成虚拟DOM渲染函数.结合响应系统,在应用系统改变时,Vue能够智能计算出重新渲染组件的最小代价并应用到DOM操作上. 插值 #文本 数据绑定最常见的形式就是使用"Mustache"语法(双大括号)的文本插值: {{msg}} 通过使用v-once指令,你也能执

11 - Vue模板语法

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

vue模板语法

Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析. 在底层的实现上, Vue 将模板编译成虚拟 DOM 渲染函数.结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上. 1.插入纯文本   “Mustache” 语法 1 <!DOCTYPE html> 2 <html> 3

Vue模板语法和实例

1.如何输出Vue实例内data对象内存储的简单属性,注意Vue实例中存储在data属性中的数据.在html中都可以直接访问,而不需要this.属性名或data.属性名.即<p>{{title}}</p>.函数也可以类似访问,例如在vue中定义了一个函数:我们在html中可以直接使用sayHello函数.即 <p>{{sayHello()}}</p> 在html代码中在P{{}}中我们不仅能够直接访问data中的数据,而且能够访问methods中的函数. 原

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

vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据.通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用到DOM操作上. VUE的模板语法的内容包括:插值.指令. 插值包括:文本插值.原始HTML插值.特性插值.以及使用javascript表达式实现插值. 指令:参数.动态参数.修饰符. 缩写形式是指v-bind和v-on指定可以采用缩写形式:'v-bind:'-->‘:’.'v-on'-->'@'

vue.js 学习之模板语法详解

本文和大家分享的主要是vue.js 的模板语法,希望对大家学习vue.js有所帮助,一起来看看吧. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解析器解析. 在底层的实现上, Vue 将模板编译成虚拟 DOM 渲染函数.结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上. 如果你熟悉虚拟 D

Vue常用模板语法

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

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