您好,匿名用户

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

0 投票

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里了,请问这段替代路由的代码具体是什么意思呢?

用户头像 提问 2017年 6月10日 @ Sejuani 中士 (1,332 威望)
分享到:

1个回答

0 投票

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

用户头像 回复 2017年 6月10日 @ Kha'Zix 中士 (1,324 威望)
提一个问题:

相关问题

0 投票
1 回复 11 阅读
用户头像 提问 5月18日 @ Elise 中士 (1,283 威望)
0 投票
1 回复 100 阅读
用户头像 提问 2017年 4月12日 @ Rengar 中士 (1,221 威望)
0 投票
1 回复 128 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...