项目思考总结

基于vue的项目总结

近期杂项总结

  • vue是数据驱动的,不要引入zepto,jQuery等的库,尽量使用数据驱动,如果实在要操作DOM,用ref。
  • 复杂的项目用vuex来管理数据。
  • 处理重试逻辑可以写成:

      getProductInfo().catch((msg) => {
          return getProductInfo()
      })
  • 多语言处理:
  • 建立i18n文件夹,在里面放index.js文件和多语言文件。在index.js中处理切换语言逻辑,把相应的文件export出去
  • 变量前加加号可转换成数字
  • vue-router go 方法中第二个参数为replace,当为true时会替换当前url,使当前页不留下历史记录。

整体架构

  • build中放置webpack配置文件。
  • utils中放公共的方法,工具等。
  • vuex中modules放置每个组件需要存储的数据的state、mutations,并写在store中,actions中写着对外暴露的方法,mutation type中可以对mutation的名字做个和变量的对应关系,数据结构放在models里。
  • 和后台接口的交互都放到service中去,其中可以对sendRequest方法进行封装,处理timeout。一些接口共用的头,以及对response共用的处理,可以写在vue-resource的拦截器里面(Vue.http.interceptor)。具体用法如下:

      Vue.http.interceptors.push(function(request, next) {
    
          // modify request
          request.method = 'POST';
    
          // continue to next interceptor
          next(function(response) {
    
              // modify response
              response.body = '...';
    
          });
      });
  • 在main.js里加上对全局错误的拦截监听,防止未被拦截处理的错误影响程序运行。
  • 如果有日志上报机制,需上报的内容有:用户与页面的交互,页面报错,接口报错。
  • 组件间传数据时,如数据结构可能发生较大改动,直接把对象传给子组件,不要拆开传。子组件api的设计要保证其通用性,在组件内不要加特别定制的逻辑。
  • 报错优先级:影响整体页面展示的错误需要有罩层遮住页面并阻止用户继续与页面进行交互,不影响整体功能的报错可忽略不计,也可显示弹框报错,允许用户稍后再试,或自行处理重试逻辑,重试几次后放弃重试。

转载于:https://www.cnblogs.com/erin-ma/p/8721072.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值