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


Posted in Javascript onOctober 15, 2017

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入门基础知识之内部指令详解,希望对大家有所帮助!

Javascript 相关文章推荐
jQuery 研究心得 取得属性的值
Nov 30 Javascript
12306验证码破解思路分享
Mar 25 Javascript
JavaScript实现表格快速变色效果代码
Aug 19 Javascript
学习Javascript闭包(Closure)知识
Aug 07 Javascript
Vue.js系列之项目结构说明(2)
Jan 03 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
JS将unicode码转中文方法
May 08 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
Jan 26 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
Oct 18 Javascript
微信小程序引入VANT组件的方法步骤
Sep 19 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 Javascript
vue flex 布局实现div均分自动换行的示例代码
Aug 05 Javascript
JS中的多态实例详解
Oct 15 #Javascript
vue跨域解决方法
Oct 15 #Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 #Javascript
详解 vue.js用法和特性
Oct 15 #Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 #jQuery
JS简单实现数组去重的方法分析
Oct 14 #Javascript
jQuery响应滚动条事件功能示例
Oct 14 #jQuery
You might like
discuz Passport 通行证 整合笔记
2008/06/30 PHP
PHP中如何判断AJAX提交的数据
2012/02/05 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
python3编码问题汇总
2016/09/06 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python决策树之C4.5算法详解
2017/12/20 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
日本语毕业生自荐信
2014/02/01 职场文书
小学新教师培训方案
2014/02/03 职场文书
家长会欢迎标语
2014/06/24 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书