您的位置:首页 > 产品设计 > UI/UE

Vue模板语法

2017-03-21 16:14 387 查看
①Vue.js使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue.js的模板都是合法的HTML,所以能够被遵循规范的浏览器和HTML解析器解析。

  在底层的实现上,Vue将模板编译成虚拟DOM渲染函数。结合响应系统,在应用状态改变时,Vue能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上。

②文本:

   数据绑定最常见的形式就是使用''Mustache''语法(双大括号)的文本差值,Mustache标签将会被替代为对应数据对象上message属性的值,绑定的数据对象上message属性发生了改变,插值处的内容都会更新:

<span>Message:{{message}}</span>
通过使用v-once指令,可以一次性的插值,当书记改变时,插值处的内容不会更新。这会影响到该节点上所有的数据绑定
<span v-once>This will never change:{{message}}</span>
③纯HTML:

     双大括号会将数据解析为纯文本,而非HTML。为了输出真正的HTML,需要使用v-html指令:

<div v-html = "rawHtml"></div>
被插入的内容都会被当做html,数据绑定会被忽略,不能使用v-html来复合局部模板,因为Vue不是基于字符串的模板引擎。组件更适合担任UI重用与复合的基本单元。只对可信内容使用HTML插值,绝对不要对用户提供的内容插值。

④属性:

    Mustache不能再HTML属性中使用,应使用v-bind指令:

<div v-bind:id="dynamicId"></div>
⑤使用JavaScript表达式

{{number+1}}
表达式会在所属Vue实例的数据作用域下作为JavaScript被解析,有一个限定就是,每个绑定都只能包含单个表达式,所以下面的例子都不会生效。

//这是语句,不是表达式
{{var a = 1}}
//控制流也不会生效,要使用三元表达式
{{
if( ok){
return message
}
}}
⑥指令:

     指令是带有v- 前缀的特殊属性。指令属性的值预期是单一JavaScript表达式(除v-for),指令的职责就是当其表达式的值改变时相应地将某些行为应用到DOM上。比如:

<p v-if = "seen">Now you see me</p>
这里v-if指令将根据表达式seen的值的真假来移除/插入<p>元素。

⑦参数:

   一些指令能接受一个“参数”,在指令后以冒号指明。例如:v-bind指令被用来响应地更新HTML属性:

<a v-bind:href = "url"></a>
在这里href是参数,告知v-bind指令将该元素的href属性与表达式url的值绑定
v-on指令,用于监听DOM事件,这里的参数是监听的事件名:
<a v-on:click = "doSomething"></a>
⑧修饰符:

   修饰符是以半角句号"."指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent修饰符告诉v-on指令对于触发的事件调用event.preventDefault():

<form v-on:submit.prevent = "onSubmit"></form>
⑨过滤器:

   Vue允许自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache插值和v-bind表达式。过滤器应该别添加载js表达式的尾部,由“管道”符指示:

//in mustaches
{{message | capitalize}}
//in v-bind
<div v-bind:id = "rawId | formatId"></div>
Vue2.0中,过滤器只能在mustache绑定和v-bind表达式(2.1.0开始支持)中使用,过滤器设计的目的就是用于文本转换,为了在其他指令中实现更复杂的数据变换,应该使用计算属性。

过滤器函数总接受表达式的值作为第一个参数

new Vue({
filters:{
capitalize:function(value){
if(!value) return''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
})
过滤器可以串联:
{{message | filterA | filterB}}
过滤器是js函数,因此可以接受参数:
{{ message | filterA('arg1','arg2') }}
这里字符串'arg1'将传给过滤器作为第二个参数,arg2表达式的值将被求值然后传给过滤器作为第三个参数。

⑩缩写:

   v-前缀在模板中是作为一个标示Vue特殊属性的明显标识。

   v-bind  缩写:

//完整语法
<a v-bind:href = "url"></a>
//缩写
<a :href = "url"></a>
   v-on  缩写:
//完整语法
<a v-on:click = "doSomething"></a>
//缩写
<a @click = "doSomething"></a>

总结:①new一个vue对象的时候你可以设置它的属性,其中最重要的包括三个,分别是data,methods,watch。

          data:代表vue对象的数据;

          methods:代表vue对象的方法;

          watch:设置了对象监听的方法。

          ②Vue对象里的设置通过html指令进行关联

          ③重要指令:

                 v-text  渲染数据;

                 v-if   控制显示;

                 v-on   绑定事件

                 v-for   循环渲染

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Vue 语法