常用但是不熟悉

1==>mapGetters 取vuex中的值 data:2020.2.28

    1==> 引入
    import { mapMutations, mapGetters  }  from "vuex"  // mapGetters 取值的辅助函数
    
    2==> 注入在computed中注入
    computed:{
             //mapGetters来取值
              ...mapGetters(['sysname','datatest']);//数组的形式
    }, 
    
    3==>取值 this.sysname 就可以输出

2==> mapMutations修改Vue中的值 data:2020.2.28

    1==> 引入mapMutations,这个辅助函数可以设置vuex中的值
    import { mapMutations, mapGetters }  from "vuex"
    
    2==>放在methods中的最后一处;key:’value'的形式(value有引号,是你的映射设置),key是设置的方法
     ...mapMutations({
                  changesysname:'SYSNAME',
      })
    
    3==> 修改值
    this.changesysname({
       name:'数据改为123',  //key是state中的,value是你要保存的值
    })
问题

    1==>如何快速的更改state中的值; 可以使用对象合并这个方法来解决哈 已经解决了ok
    
    2==>说一说watch和computed的区别;并在什么情况下使用???

    3==>刷新页面,vuex中的值,如何才能够不丢失????

3==> Object.assign(目标对象, 被合并的对象) data:2020.2.28

 // Object.assign(目标对象, 被合并的对象)
 // 如果被合并的对象于目标对象有相同的key,会出现覆盖;
 // 最后输出的是目标对象
 let form = {
    name: '张三',
    age: 19,
 }
 let obj = {
   sex: '男',
   age: 20, //会出现覆盖
 }
 Object.assign(form, obj);
 console.log(form);
 {name: "张三", age: 20, sex: "男"}

Object.assign(目标对象, 被合并的对象)

  let form = {
    name: '张三',
    age: 19,
   }
  //vuex中,比如我只想修改age为34
  Object.assign(form, {
    age: 34
 });
 console.log(form);

4==>快速修改vuex对象中的某一个key值 data: 2021.3.1

state: {
    obj:{
      name:"张三",
      age:23,
      sex:'男'
    }
  },

  // 同步  第一个形参 代表state
  // name形参代表的是  你此时传递过来的参数
  mutations: {
    getobj:(state, data)=>{
      state.obj = data; //赋值
    }
  },

  hander(){
        //快速修改vuex对象中的某一个key值    
         this.$store.commit("getobj",
            Object.assign(
                 this.$store.state.obj,//取出原来的值,是一个对象
                 {age:this.$store.state.obj.age + 1} //将要被修改的值
                ) 
          );
            console.log( this.$store.state.obj );
   },

5==>字符串比较大小时,是不会进行隐式转换的(ok)

   let aa = '2021108';
   let bb = '202145';
        if (aa < bb) {
            console.log('bb大')
        } else {
            //走了这里
            console.log('aa大')
        }
字符串在进行比较的时候;
是不会进行隐私转换的;
运算符  -    *   /  % 这写是个会进行隐私转换
ps加号 + 是不会进行隐式转换的

let aa = '2021108';
let bb = '202145';
console.log(aa + bb);
console.log(aa - bb); 会
console.log(aa * bb);  会
console.log(aa / bb); 会
console.log(aa % bb); 会

6==>

A==>B这样两个页面哈;
如果B页面进行一系列的逻辑操作后;
要进入到A页面;这个时候你需要注意一下;
此时不要使用this.$router.psuh
应该使用this.$router.go(-1);
这样才是正确的哈

7==>

A-->B--C这三个页面;
如果B页面依靠了localstoage;C页面进行完逻辑操作后;清除了localstoage;
这样是有问题的;
如果用户操作完后,点击返回键;返回到B页面。此时的B页面localstoage的值已经为空了;
肯定是会报错的哈;
解决办法是不要去清除这个值

8==> 字符串的截取 stringObject.substr(start,length)

//截取的是开始与字符串长度
stringObject.substr(start,length) 

let str='hellonihao';
//一定要保证str是一个字符串;如果是数字会报错的哈;
//转化为字符串可以使用 toString  和  + ''通过加号连接
str1 = str.substr(0, str.length-1);//删除字符串最后一位;

删除第一位
var str = 'abc,def,hgi';
str = str.substr(1); //删除第一个字符
console.log(str);//bc,def,hgi

作者:明月人倚楼
出处:https://www.cnblogs.com/IwishIcould/

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

支付宝
微信
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
原文地址:https://www.cnblogs.com/IwishIcould/p/14461256.html