vue知识点的梳理

vue知识点的梳理

1、在开发的过程中可以先进行打印,之后看看里面的数据是否是我们需要,在进行接下来的步骤

console.log(this.$router);
console.log(this.$route);
console.log(window);

2、localStorage和seeionStorage的区别?

3、过滤器?

(1)全局过滤器

/**
 * 1.参数一:过滤器的名称,自定义
 * 2.参数二:回调函数,回调函数中有一个系统自动注入的参数
 *         参数值为:要过滤的值
 */
  Vue.filter('过滤器的名称',(e)=>{
       return  e.slice(0,4)
 })

(2)局部过滤器

filters:{
     过滤器名称:function(e){
     	return  e.toFixed(2)
     }
 }

4、计算属性?

computed:{
	自定义的变量名:function(){
		return 操作
	}
}

5、监听?

(1)普通监听

watch:{
         监听的属性名:function(newVal,oldVal){
         // newVal参数一:修改后的新值
         // oldVal参数二:修改前的旧值
         // console.log(newVal);
         // console.log(oldVal);
         console.log(this.name);
         }
       }

(2)深度监听

watch:{
    监听的对象:{
        // handler是系统自动注入的方法
        handler(){
            console.log(this.user.name);
        },
        deep:true,//默认值为false
    }
 }

6、route和router的区别?

this.$router: 一般是用来做路由跳转 ;

this.$route : 一般来获取路由中的参数 ;

7、 $set

往对象或者数组对象中添加新的属性使得该属性必须赋予get和set方法,才能在视图中渲染, 往对象中添加新的属性的方式,在这里我们是在挂载完成的时候添加: 局部设置: 1.this. s e t ( 操 作 的 对 象 , ′ 添 加 新 的 属 性 名 ′ , ′ 新 的 属 性 值 ′ ) 2. V u e . s e t ( 操 作 的 对 象 , ′ 添 加 新 的 属 性 名 ′ , ′ 新 的 属 性 值 ′ ) 全 局 设 置 3. v m . set(操作的对象,'添加新的属性名','新的属性值') 2.Vue.set(操作的对象,'添加新的属性名','新的属性值') 全局设置 3.vm. set(,,)2.Vue.set(,,)3.vm.set(操作的对象,‘添加新的属性名’,‘新的属性值’)

8、for…in…循环对象的时参数

(1) 推荐使用hasOwnProperty方法,避免原型对象上带来的干扰

function allpro(obj){  
    var keys=[];   
    var values=[];    
    for(var key in obj){   
        //只遍历对象自身的属性,而不包含继承于原型链上的属性。  
        if (obj.hasOwnProperty(key) === true){  
            keys.push(key);    
            values.push(obj[key]);   
            }                 
        }  
    alert("keys is :"+keys+" and values is :"+values);    
}  
Object.prototype.bar = 1;// 修改Object.prototype  
var o={"name":"wjy","age":26,"sex":"female"};//定义一个object对象   
allpro(o);  
//keys is : name,age,sex and values is: wjy,26,female 

(2)使用for循环遍历对象的属性时,原型链上的所有属性都将被访问‘

Object.prototype.bar = 10;// 修改Object.prototype  
var obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象    
var keys=[];//定义一个数组用来接受key    
var values=[];//定义一个数组用来接受value    
  for(var key in obj){    
    keys.push(key);    
    values.push(obj[key]);//取得value      
    }    
alert("keys is :"+keys+" and values is :"+values);   
//keys is : name,age,sex,bar and values is : wjy,26,female,10 

(3)第一个是key

for(let key in obj){
  
}
key:得到的是属性名
obj[key]:得到的是属性值
我们使用for...in里面的变量,我们喜欢用k或者key

9、watch和computed的作用和区别?

watch中的函数是不需要调用的

computed内部的函数调用的时候不需要加()

watch 属性监听 监听属性的变化,需要在数据变化时执行异步或开销较大的操作时使用

computed:计算属性通过属性计算而得来的属性,属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。

主要当作属性来使用; watch擅长处理的场景:一个数据影响多个数据;

computed擅长处理的场景:一个数据受多个数据影响。

10、class动态的属性

:class=“变量”

:class=“三元运算符”

:class="{类名1:ture,类名2:false,类名3:false}"

12、style样式

<!-- 静态样式 -->
<div style="background: red;color:green;">静态样式</div>
<hr>
<!-- 动态样式 -->
<div :style="{background: 'red',color:'green'}">动态样式</div>
<!-- 动态样式变形 -->
<div class="box" :style="styleN">动态样式变形</div>

13、key

在数组遍历时,需要绑定一个key,当元素改变时,虚拟DOM通过唯一的KEY进行判断修改了哪些元素,修改完成之后,再跟真实的DOM进行对比.将产生差异的部分通过浏览器修改即可,相同的部分不做修改.

注意:key值可以是number或者string类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值