18-12-24

150 阅读1分钟

nodejs结合apiblue实现mock-server

驼峰命名转短横线命名

eventName.replace(/([A-Z])/g, '-$1').toLowerCase();

匿名函数中,使用arguments获得未知参数

仿美团项目

github.com/zwStar/vue-…

微信浏览器内置改变字体大小影响页面效果

www.jianshu.com/p/22c9b8107…

store cookie双端存储的数据的getter设计

17mall-store-user-getters-userinfo

/**
 * @description: 先找store,没有查cookie,再没有返回null
 */
userInfo: (state) => () => {
  if(!state.userInfo.id){
    let userInfo= user_cookie.get('userInfo');
    if(userInfo){
      Object.assign(state.userInfo, userInfo);
      return userInfo;
    };
    if(!userInfo) return null;
  } else {
    return state.userInfo;
  }
},

store缓存设计需要考虑用户的角色转变

产品详情界面,会根据参数userid返回该用户是否收藏了这个产品,如果用户以未登陆用户进入了产品详情页,页面产生了缓存,那么一个【收藏了该产品】的用户登陆以后,数据走缓存而不走ajax,会导致收藏状态不改变,

解决办法就是在action最开始判断userid(如果请求需要传userid)是否是当前store中存在的userid,如果不是,则清空缓存,具体代码看 17mall-store-productDetail

promise面试题

juejin.cn/post/684490…

另一种类创建的写法

let Editor= function(){...}
Editor.prototype= {
    constructor: Editor,
    _init: function(){...},
    _func: function(){...},
}