猿问

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

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


慕勒3428872
浏览 476回答 1
1回答

海绵宝宝撒

楼主你要的是逐句解释?mui.get_params = function(id){//定义get_params方法(带入id作为参数)var p_arr = (location.hash!="") && location.hash.replace("#/","").split("/");//获取页面标签值,替换特殊字符为/,如:#admin->/adminvar obj = {};//创建一个配置对象//为配置对象中的参数名对应if(modules_obj[id].params && (p_arr.length>0)){//判断参数非空&nbsp; &nbsp;for(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;p_arr.length;&nbsp;i&nbsp;++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modules_obj[id].params[i]&nbsp;&&&nbsp;(obj[modules_obj[id].params[i]]&nbsp;=&nbsp;p_arr[i]);//遍历参数,并将其对应到配置对象中(压入模板内) &nbsp;}}return obj;//返回配置对象}你可以理解为把一个数组内的字符串按一定规则(替换)取出来再放入另一个数组内的操作,这样做的意义在于不论你页面标签值是什么,只要调用了这个方法,那么得到的标签值都是一组样式相同的字符串,并且能被路由识别
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答