Vue开发过程中遇到的疑惑知识点总结


Posted in Javascript onJanuary 20, 2017

前言

Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地上手并使用Vue.js。最近终于有时间空下来,所以想着把在使用vue过程遇到的一些问题疑惑总结处理,方便自己或者有需要的朋友们参考,下面话不多说了,来看看详细的介绍吧。

一、计算缓存computed与Methods

html代码:

<div id='app'> 
<p>{{ msg }}</p> 
 <p>reverse {{ reverse2 }}</p>
</div>

JS

var app = new Vue({
 el : '#app' 
 data : {
 msg : '初始值'
 }  
 ,

 methods : {
 reverse : function(){
  this.msg = this.msg.split('').reverse().join('');
 }
 },
 created : function(){
 console.log('msg is creadted' + new Date() );
 },
 computed : {
  reverse2 : function(){
  return this.msg.split('').reverse().join('') + new Date();
 }
 }
});

Vue开发过程中遇到的疑惑知识点总结

计算属性就可以看作普通属性一样来使用

更改html

<div id='app'>

<p>{{ msg }}</p>

<button v-on:click='reverse'>{{ new Date()}} </button> 
</div>

Vue开发过程中遇到的疑惑知识点总结

结论:

  • 相同点: 两者完成的功能都是一样的.
  • 不同点: 计算属性computed更依赖缓存,也就是说只要msg(你的数据)不发生变化,reverse2这个计算属性就不会重新计算,还是会使用之前的.而Methods是你每一次调用就会重新进行计算,重新渲染.

所以如果你的计算属性很复杂,就可以考虑使用计算属性,利用它的缓存可以保持很好的性能.

二、v-if和v-show区别

v-if: 如果初始渲染条件为false,那什么都不做,第一次为true时候,会进行局部编译,这个编译会缓存起来.当条件再为false会销毁事件监听器和子组件.

v-show:始终存在dom里面,也就是说始终被编译了.之前按照display属性来切换.

三、重塑数组的概念

就是说有些数组方法调用后会改变原数组—就是变异方法

调用后不会改变原数组就是非变异方法

Vue不可以做的事(关于数组重塑)

  • 直接通过设置一个项的索引值. vm.items[indexOfItem] = newValue
  • 直接修改数组长度. vm.items.length = newLength

针对上述两种提供我们可以使用

Vue.set()
splice()

四、显示数组的过滤与排序

通过返回一个过滤或者排序的数组的计算属性

//html
<ul>
 <li v-for='n in soets'>{{ n }}</li>
</ul>
//js
computed : {
 soets : function(){
 return this.number.filter(function(num){
  return num > 2;
 })
 }
}

通过methods来实现:

//html
 <ul>
 <li v-for='n in sort()'>{{ n }}</li>
</ul>

//js
methods : {
 sort : function(){
  return this.number.filter(function(num){
  return num >2
  });
 }
 },

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
用javascript实现自定义标签
May 08 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
Jan 03 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
浅析node连接数据库(express+mysql)
Nov 30 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
BootStrap实现带关闭按钮功能
Feb 15 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
Jan 29 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
js+canvas实现五子棋小游戏
Aug 02 Javascript
js实现简单抽奖功能
Nov 24 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 18 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 #Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
Jan 20 #Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 #Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 #Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 #Javascript
JS中from 表单序列化提交的代码
Jan 20 #Javascript
jquery表单验证插件validation使用方法详解
Jan 20 #Javascript
You might like
PHP运行模式的深入理解
2013/06/03 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
php实现通过ftp上传文件
2015/06/19 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
JQuery小知识
2010/10/15 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
python中map的基本用法示例
2018/09/10 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Python3 hashlib密码散列算法原理详解
2020/03/30 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
销售人员职业生涯规划范文
2014/03/01 职场文书
幼儿园父亲节活动方案
2014/03/11 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
2015年学校教研室主任工作总结
2015/07/20 职场文书
Python开发五子棋小游戏
2022/05/02 Python
分享几个实用的CSS代码块
2022/06/10 HTML / CSS