为了账号安全,请及时绑定邮箱和手机立即绑定

这段js代码用来配置路由,达到一个路由功能,具体执行流程是什么意思呢?

这段js代码用来配置路由,达到一个路由功能,具体执行流程是什么意思呢?

慕勒3428872 2018-10-09 13:19:15
mui.get_params = function(id){  var p_arr = (location.hash!="") && location.hash.replace("#/","").split("/"); var obj = {};   //为配置对象中的参数名对应  if(modules_obj[id].params && (p_arr.length>0)){           for(var i = 0; i < p_arr.length; i ++){          modules_obj[id].params[i] && (obj[modules_obj[id].params[i]] = p_arr[i]);      }        } return     obj;}公司用一个配置里写跳转来代替vue的路由,这段是控制配置的,配置的所有路由都定义在对象modules_obj里了,请问这段替代路由的代码具体是什么意思呢?
查看完整描述

1 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

楼主你要的是逐句解释?
mui.get_params = function(id){//定义get_params方法(带入id作为参数)

var p_arr = (location.hash!="") && location.hash.replace("#/","").split("/");//获取页面标签值,替换特殊字符为/,如:#admin->/admin
var obj = {};//创建一个配置对象

//为配置对象中的参数名对应
if(modules_obj[id].params && (p_arr.length>0)){//判断参数非空

 
 for(var i = 0; i < p_arr.length; i ++){
     modules_obj[id].params[i] && (obj[modules_obj[id].params[i]] = p_arr[i]);//遍历参数,并将其对应到配置对象中(压入模板内)
 }

}

return obj;//返回配置对象
}
你可以理解为把一个数组内的字符串按一定规则(替换)取出来再放入另一个数组内的操作,这样做的意义在于不论你页面标签值是什么,只要调用了这个方法,那么得到的标签值都是一组样式相同的字符串,并且能被路由识别


查看完整回答
反对 回复 2018-11-05
  • 1 回答
  • 0 关注
  • 475 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信