vue的本地应用

摘要:不同于早期原生js基于dom来获取并操纵页面元素的方法,在vue中使用以 v- 开头的特殊语法来实现:v-text , v-html, v-on, v-show, v-if, v-on 等一系列vue指令。

1.  内容绑定,事件绑定

v-text:由其绑定的元素中的所有内容都会被绑定的数据给替换掉,若不想被替换可用{{ message }}插值表达式的形式写入;

v-html:同上为内容绑定指令,但可被html元素替换。如;

<p v-html="message"></p>

data:{
message:"<a href='https://cn.vuejs.org/v2/guide/'>this is a url</a>"

}

v-on:作用为元素绑定事件,可被@替代,如:

<input type="button" name="" id="" value="点d" @dblclick="abolt()" />

2. 显示切换,属性绑定

v-show:可设置元素的display样式,根据表达值的真假来切换元素的隐藏和显示;

v-if:也可用来隐藏或显示元素,但其原理与v-show不同,v-if是通过操纵dom元素来控制显示和隐藏,而v-show设置的是元素的display样式;

当需要频繁切换元素隐藏和显示时,出于性能的考虑最好使用v-show

v-bind:可用来设置元素的属性(比如:src,class,title);也可以通过控制class类名来控制元素的样式设置,如下:

<img :src="imgsrc" v-show="true" :title="imgtitle" 
:class="imgactive?'active':''" @click="active()">
<img :src="imgsrc" v-show="true" :title="imgtitle"
:class="{active:imgactive}" @click="active()">

先设置变量imgactive的值为false

当单机图片时改变imgactive的值为true,表达式中就会返回类名active,这时设置的css样式可显示出来:

3. 列表循环,表单元素绑定

 v-for:需要以 site in sites 形式的特殊语法, sites 是源数据数组并且 site 是数组元素迭代的别名。

迭代数组

<ol>
    <li v-for="item in arr">
      {{ item.name }}
    </li>
  </ol>

迭代对象

<div id="app">
  <ul>
    <li v-for="(value, key, index) in object">
     {{ index }}. {{ key }} : {{ value }}
    </li>
  </ul>
</div>

迭代整数

  <ul>
    <li v-for="n in 10">
     {{ n }}
    </li>
  </ul>

 v-model:实现双向绑定(把Model绑定到View的同时也将View绑定到Model上,这样就既可以通过更新Model来实现View的自动更新,也可以通过更新View来实现Model数据的更新。所以,当我们用JavaScript代码更新Model时,View就会自动更新,反之,如果用户更新了View,Model的数据也自动被更新了。)

原文地址:https://www.cnblogs.com/Dylen24/p/13227824.html