Vue 2.0入门基础知识之内部指令详解

作者:夜幕下的二田 时间:2024-05-10 14:17:19 

1.Vue.js介绍

        当前前端三大主流框架:Angular、React、Vue。React前段时间由于许可证风波,使得Vue的热度蹭蹭地上升。另外,Vue友好的API文档更是一大特色。Vue.js是一个非常轻量级的工具,与其说是一个MVVM框架,不如说是一个js库。Vue.js具有响应式编程和组件化的特点。响应式编程,即保持状态和视图的同步,状态也可以说是数据吧;而其组件化的理念与React则一样,即“一切都是组件,组件化思想方便于模块化的开发,是前端领域的一大趋势。

2.内部指令

2-1.v-if v-else v-show:前两者一般配合使用,v-show的效果类似于v-if。

实例如下:


<body>
 <div id="app">
   <p v-if="flag">if</p>
   <p v-else>else</p>
   <p v-show="flag">show</p>
 </div>
</body>
<script>
 var vm= new Vue({
   el:"#app",
   data:{
     flag:true
   }
 });
</script>

DOM结构中,三个p标签中的内容是否显示在页面中取决于flag的布尔值属性。当flag为true时,if和show都会显示,else也不会存在于DOM结构中。v-if和v-show的不同体现在:v-if是根据条件的值判断是否加载,可以减轻服务器的压力,但是缺点是当改变条件的值,页面又要加载一次;v-show则无论条件的值是否为true,都会加载(若条件为true,则display属性设置为其默认属性,反之,设置为none)

2-2.v-for 循环指令

实例如下:


<body>
 <div id="app">
  <ol>
    <li v-for="b in b">{{b}}</li>
  </ol>
 </div>
</body>
<script>
 var vm= new Vue({
   el:"#app",
   data:{
    b:['a','b','c',1,2]
   }
 });
</script>

页面会显示5个li,插值的效果是li会显示与数组b一 一对应的元素,v-for有点类似于for in循环

2-3  v-text v-html 文本(html字符串)指令


<body>
 <div id="app">
  <p v-text="msgText"></p>
  <p v-html="msgHtml"></p>
 </div>
</body>
<script>
 var vm= new Vue({
   el:"#app",
   data:{
    msgText:"China",
    msgHtml:"<span>中国</span>"
   }
 });
</script>

可以联想到jquery的text()、html()。到现在,你会发现前面都是利用插值操作,即{{}},这种做法会在一定程度上影响性能。

2-4 v-on 绑定事件 *

实例如下:


<body>
 <div id="app">
  <button v-on:click="Hi()">Button</button>
 </div>
</body>
<script>
 var vm= new Vue({
   el:"#app",
   methods:{
     Hi:function(){
       alert("Hello World!")
     }
   }
 });
</script>

同理,类比jquery的on()方法,绑定事件用的,实例中v-on:click可以简写为@click。click可以替换成鼠标的其他操作,如mouseout、mouseover等等。

2-5 v-bind指令

实例如下:


<body>
 <div id="app">
   <a v-bind:style="{color:'red'}" :src="message">{{message}}</a>
 </div>
</body>
<script>
 var vm = new Vue({
   el: "#app",
   data: {
     message: "前端工程师"
   }
 });
</script>

效果为a标签显示红色,且其src属性为vm.message。v-bind指令主要用于设置html标签的属性,其简写形式为 v-bind:——>:

2-6 v-model 数据双向绑定指令

实例如下:


<body>
 <div id="app">
   <p>{{message}}</p>
   <input type="text" v-model="message">
 </div>
</body>
<script>
 var vm = new Vue({
   el: "#app",
   data: {
     message: "前端工程师"
   }
 });
</script>

当input输入的值发生变化时,p标签包含的内容也会随之变化,且与前者保持一致。

2-7 v-pre 指令

实例如下:


<body>
 <div id="app">
   <p>{{message}}</p>
   <p v-pre>{{message}}</p>
 </div>
</body>
<script>
 var vm = new Vue({
   el: "#app",
   data: {
     message: "前端工程师"
   }
 });
</script>

第一个p标签输出“前端工程师”,而第二个p标签则会跳过vue编译,输出原始值,即{{message}}。

2-8 v-cloak指令

     v-cloak指令的作用是当DOM树构建好完成页面的渲染后才执行,且其须要与css一起使用

2-9 v-once指令

    v-once指令的作用是只有当DOM树第一次渲染时起作用。

总结

以上所述是小编给大家介绍的Vue 2.0入门基础知识之内部指令详解,希望对大家有所帮助!

来源:http://www.cnblogs.com/jiangcheng-langzi/archive/2017/10/15/7668860.html

标签:Vue,基础知识,内部指令
0
投稿

猜你喜欢

  • python实现飞机大战游戏

    2021-09-30 12:05:06
  • Anaconda中pkgs文件夹及如何清空PKGS

    2022-04-03 00:31:33
  • 基于Python实现新年倒计时

    2022-02-14 08:41:59
  • 用asp给网站添加rss聚合功能

    2007-11-05 19:08:00
  • 基于canvas的二维码邀请函生成插件

    2024-04-17 10:40:53
  • Python模块的加载讲解

    2023-04-05 08:42:01
  • 使用Python实现简单的服务器功能

    2021-06-29 09:25:31
  • Python使用type动态创建类操作示例

    2021-05-20 11:47:02
  • Python 实现静态链表案例详解

    2022-08-31 01:56:48
  • Python中的条件判断语句基础学习教程

    2021-06-19 11:51:36
  • Mootools 1.2教程(21)——类(二)

    2008-12-28 20:58:00
  • Python实现消消乐小游戏

    2021-02-19 19:37:42
  • Python matplotlib学习笔记之坐标轴范围

    2022-04-21 16:24:28
  • 详解Python 装饰器执行顺序迷思

    2023-12-30 23:55:23
  • 聚焦 DreamWeaver MX 2004

    2010-03-25 12:22:00
  • python实现对doc,txt,xls文档的读写操作

    2021-05-09 20:01:14
  • 基于Jquery+Ajax+Json的高效分页实现代码

    2024-05-21 10:12:19
  • 内容,而不是Chrome

    2008-10-16 13:43:00
  • PHP中__LINE__,__FILE__,__DIR__等常用魔术常量实例讲解

    2023-06-13 23:42:32
  • Python的函数的一些高阶特性

    2022-06-04 15:06:28
  • asp之家 网络编程 m.aspxhome.com