上QQ阅读APP看书,第一时间看更新
2.7 Vue.js完全支持JavaScript表达式
对于所有的数据绑定,Vue.js都提供了完全的JavaScript表达式支持。示例代码如下:
<div>{{number + 2}} </div> // 一个简单的加计算 <div>{{OK?'显示':'不显示'}}</div> // 三元计算 <div> {{ qihui.split('').reverse().join('') }} </div> // 可以对更复杂的对数组或对象进行删除添加操作
上面这些实例只能在当前组件的作用域内才有效,然后被JavaScript解析,然而这里还有个限制:每个绑定都只能包含单个表达式,所以下面的例子是不会生效的。
<div>{{ let q = 2 }}</div> //这不是表达式 <div>{{if(ok){return '显示'}}}</div> //流控制也不会生效,请使用三元表达式
我们在下面的示例中演示如何使用一些常规的JavaScript语法。
下面这段代码中,我们首先在data代码块定义布尔型变量ok和字符串变量message;然后在html视图部分进行四则运算、三元运算、字符串连接、JavaScript函数的使用。示例代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>模板语法-完全的 JavaScript 表达式支持 </title> <!--加载本地vue.js的框架--> <script src="vue2.2.2.min.js"></script> </head> <body> <!--定义div代码块的id的值,这里定义的值为app,后面Vue会使用该值--> <div id="app"> {{5+5}}<br> <!--JavaScript加法运算,结果为 10--> {{5-5}}<br> <!--JavaScript减法运算,结果为 0--> {{5*5}}<br> <!--JavaScript减法运算,结果为 25--> {{5/5}}<br> <!--JavaScript除法运算,结果为 1--> {{ ok ? 'YES' : 'NO' }}<br> <!--JavaScript三元运算,结果为 YES--> {{ 'YES' + 'NO' }}<br> <!--JavaScript字符串连接,结果为 YESNO--> {{ (new Date()).getFullYear() }}<br> <!--JavaScript调用日期函数获取当前年份,比如 2020--> {{ message.split('').reverse().join('') }} <!--JavaScript函数处理,反转字符串,结果为“师老华菊黄”--> </div> <script> new Vue({ el: '#app',//app为前面div代码块的id的值,通过“#”绑定 //data区域定义属性的值 data: { ok: true, //定义布尔型变量 message: '黄菊华老师' //定义字符串变量 } }) </script> </body> </html>
效果如图2-5所示。
图2-5 Vue.js中提供了完全的JavaScript表达式支持