知了堂Vue高效前端开发Vue基本指令

中科白癜风四大惠民活动 http://news.39.net/bjzkhbzy/171020/5778528.html

Vue模板语法

文本插值

文本差值最基本的形式一般有三种方式

一是使用两个花括号{{}},二是使用v-once指令,三是使用v-text指令,下面用代码演示

body

divid="app"

p

inputtype="text"v-model="msg"/

/p

p{{msg}}/p

!--仅一次--

pv-once{{msg}}/p

pv-text="msg"/p

/div

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

msg:""

}

})

/script

/body

三种方式均可实现文本插值。

2,表达式

文本插值也支持表达式形式的值,用于数值运算,三目判断以及筛选,下面用一个计算工资的例子演示。

body

fieldsetid="app"

legend工资计算器/legend

p当月收入:inputtype="text"v-model="gongzi"/p

p奖金:inputtype="text"v-model="jiangjin"name=""id=""/p

p养老保险:{{(parseFloat(gongzi)+parseFloat(jiangjin))*0.}}/p

p医疗保险:{{(parseFloat(gongzi)+parseFloat(jiangjin))*0.}}/p

p失业保险:{{(parseFloat(gongzi)+parseFloat(jiangjin))*0.}}/p

p公积金:{{(parseFloat(gongzi)+parseFloat(jiangjin))*0.}}/p

p到手薪资:{{(parseFloat(gongzi)+parseFloat(jiangjin))*(1-0.-0.-0.-0.)}}/p

p年薪:{{((parseFloat(gongzi)+parseFloat(jiangjin))*(1-0.-0.-0.-0.))*12}}/p

/fieldset

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

gongzi:0,

jiangjin:0

}

})

/script

/body

————————————————

以上代码实现了工资的基本计算,由上可以看出,文本插值也支持数值运算。

3,指令

指令是Vue中一个重要的特性,主要提供了一种机制将数据的变化映射为DOM行为,指令的特殊属性便是带有“v-”前缀。

例:av-bind:href="url"/a

Vue绑定类样式和内联样式

在Vue中对属性的绑定一般使用v-bind指令(可缩写为“:”),而操作元素的class列表和内联样式是数据绑定的一个常见需求。

1,类样式

语法:divv-bind:class="{类样式名:数据,...}"/div

例:使用绑定类样式方式实现样式的绑定

body

style

.base{

width:px;

height:px;

}

.border{

border:2pxsolidblack;

transition:all3s;

}

.box{

box-shadow:15px5px15px5pxgray;

transition:all3s;

}

.bgcolor{

background-color:aqua;

transition:all3s;

}

.donghua:hover{

border-radius:50%;

transition:all3s;

}

/style

divid="app"

inputtype="checkbox"v-model="border"name="check1"id=""边框

inputtype="checkbox"v-model="box"name="check1"id=""阴影

inputtype="checkbox"v-model="bgcolor"name="check1"id=""背景

inputtype="checkbox"v-model="donghua"name="check1"id=""动画

hr/

divclass="base"v-bind:class="{border:border,box:box,bgcolor:bgcolor,donghua:donghua}"/div

/div

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

border:false,

box:false,

bgcolor:false,

donghua:false

}

})

/script

/body

效果:

通过绑定类样式实现了效果。

2,内联样式

语法:divv-bind:style="{样式属性:数据,...}"/div

例:使用绑定内联样式实现效果

body

divid="app"style="width:%;text-align:center;"

imgsrc="img/1.JPG"alt=""v-bind:style="allstyle"

/div

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

allstyle:{

"border":"2pxsolidblack",

"border-radius":"10%",

"width":"50%"

}

}

})

/script

/body

条件渲染指令

Vue中提供v-if,v-else和v-show的条件渲染指令,这些条件指令可以根据表达式的值在DOM中选择渲染元素和组件。

v-if和v-else

语法:divv-if="bool"

/divdivv-else/div

例:使用条件渲染实现登录页面和注册界面的切换

body

divid="app"

inputtype="checkbox"v-model="isf"name=""id=""登录

divv-if="isf"

fieldset

legend登录界面/legend

inputtype="text"placeholder="请输入账号"name=""id=""br/

inputtype="text"placeholder="请输入密码"name=""id=""

pbutton登录/button/p

/fieldset

/div

divv-else

fieldset

legend注册界面/legend

inputtype="text"placeholder="请输入账号"name=""id=""br/

inputtype="text"placeholder="请输入密码"name=""id=""br/

inputtype="text"placeholder="请再次输入密码"name=""id=""

pbutton注册/button/p

/fieldset

/div

/div

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

isf:true

}

})

/script

/body

效果:

v-show指令

v-show的用法与v-if类似,不同的地方在于v-show指令只是实现切换css的display,同时也不支持template元素和v-else指令。

事件绑定

在vue中一般使用v-on来进行事件的绑定,实现监听DOM事件。

语法:buttonv-on:click="方法"按钮/button

例:实现简单四则远算。

body

divid="app"

px值:inputtype="text"v-model="x"/p

py值:inputtype="text"v-model="y"/p

p

buttonv-on:click="add()"+/button

buttonv-on:click="sub()"-/button

buttonv-on:click="mlt()"*/button

buttonv-on:click="div()"//button

/p

p结果:{{result}}/p

/div

scriptsrc="js/Vue.js"/script

script

newVue({

el:"#app",

data:{

x:0,

y:0,

result:0

},

methods:{

add:function(){

this.result=parseFloat(this.x)+parseFloat(this.y);

},

sub:function(){

this.result=parseFloat(this.x)-parseFloat(this.y);

},

mlt:function(){

this.result=parseFloat(this.x)*parseFloat(this.y);

},

div:function(){

this.result=parseFloat(this.x)/parseFloat(this.y);

}

}

})

/script

/body

效果:

以及事件绑定时需要用到的修饰符:

.stop:相当于event.stopProagation()方法

.prevent:相当于event.preventDefault()方法

.capture:使用capture模式添加事件监听器

.self:只有事件在监听本身元素时才会触发回调

.once:点击事件仅触发一次




转载请注明:http://www.aierlanlan.com/cyrz/1279.html

  • 上一篇文章:
  •   
  • 下一篇文章: