菜单

vue模板语法

2019年5月8日 - 金沙前端

5、过滤器

三、对于全部数据绑定,Vue.js 都提供了截然的 JavaScript 表明式协助,每一种绑定只好是单个表明式

<a v-bind:href=”url”></a>  
//更新html属性

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <script type="text/javascript"  src="vue.js"></script>
 7 </head>
 8 <body>
 9     <div id="id">
10         <p>{{message + "-----不信你试试"}}</p></br>
11         <p>{{message.split('').reverse().join('')}}</p></br>
12         <p>{{num + 12}}</p></br>
13         <p>{{ok ? 'ok是true':'ok是false'}}</p>
14     </div>
15 </body>
16 <script>
17    var vm = new Vue({
18        el: '#id',
19        data:{
20            message:'Vue.js 都提供了完全的 JavaScript 表达式支持',
21            num: 12,
22            ok: true
23        }
24    })
25 </script>
26 </html>

一、插入纯文本   “Mustache” 语法

Mustache 不可能在 HTML 属性中选取,应运用
 v-bind 指令

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <script type="text/javascript"  src="vue.js"></script>
 7 </head>
 8 <body>
 9     <div id="id">
10         {{message}}<!--绑定数据message对象上的数据改变时插值处的内容也会更新-->
11         {{message}}
12         <!--通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上所有的数据绑定-->
13     </div>
14 </body>
15 <script>
16    var vm = new Vue({
17        el: '#id',
18        data:{
19            message:'插入的是纯文本'
20        }
21    })
22 </script>
23 </html>

图片 1

 

四、部分指令后边还是可以跟二个参数,指令背后用冒号指明

二、使用 v-html 指令插入html,数据绑定会被忽视

  过滤器只还好 mustache
绑定和 v-bind 表明式(从 2.一.0
开端帮衬)中运用,因为过滤器设计指标就是用来文书转变。过滤器函数总接受表达式的值作为第壹个参数。

 

Vue.js 使用了基于 HTML 的模板语法,允许开垦者注明式地将 DOM 绑定至底层
Vue 实例的多少。全数 Vue.js 的沙盘都是官方的 HTML
,所以能被根据标准的浏览器和 HTML 解析器解析。

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <script type="text/javascript"  src="vue.js"></script>
 7 </head>
 8 <body>
 9     <div id="id">
10         
11     </div>
12 </body>
13 <script>
14    var vm = new Vue({
15        el: '#id',
16        data:{
17            message:'插入的是html'
18        }
19    })
20 </script>
21 </html>

在尾巴部分的贯彻上, Vue 将模板编写翻译成虚拟 DOM
渲染函数。结合响应系统,在选取状态改动时, Vue
能够智能地计算出双重渲染组件的纤维代价并行使到 DOM 操作上。

 

 <div>
        <!-- 完整语法 -->
        <a v-bind:href="url"></a>
        <!-- 缩写 -->
        <a :href="url"></a>

        <!-- 完整语法 -->
        <a v-on:click="doSomething"></a>
        <!-- 缩写 -->
        <a @click="doSomething"></a>
    </div>

6、指令缩写格式

<div
v-bind:id=”dynamicId”></div>

对boolean值同样也有意义,假若衡量模范为false,该属性会被移除

<a v-on:click=”doSomething”>
//监听事件

打字与印刷结果:

图片 2

<button v-bind:disabled=”someDynamicCondition”>Button</button>

打印结果:

 1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6     <script type="text/javascript"  src="vue.js"></script>
 7 </head>
 8 <body>
 9     <div id="id">
10         <p>{{message|capitalize}}</p></br>
11         <p>{{num|test1}}</p></br>
12         <p>{{num|test1|test2(10,20)}}</p></br><!--过滤器函数总接受表达式的值作为第一个参数-->
13         <!--对于过滤器test2来说,第一个参数是num,第二个参数是10,第三个参数是20-->
14     </div>
15 </body>
16 <script>
17    var vm = new Vue({
18        el: '#id',
19        data:{
20            message:'aaabbbccc',
21            num: 12,
22            ok: true
23        },
24        filters:{
25            test1:function(num){
26                 if(num == 0) return 0
27                 return num = num * 100
28            },
29            test2:function(num,arg1,arg2){
30                if(num == arg1 ) return num
31                return arg2
32            },
33            capitalize: function (value) {
34                if (!value) return ''
35                value = value.toString()
36                return value.charAt(0).toUpperCase() + value.slice(1)
37            }
38        }
39    })
40 </script>
41 </html>

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图