单页应用spa第三章总结
最近在看《单页Web应用 JavaScript从前端到后端》,看到最后一小节的时候,由于变量很多,有些看不懂了
就把变量一个一个打印出来进行分析,发现有一个值一直不知道从那里来的。
问题:点击红色框,打印stateMap.anchor_map的值

操作:console.log(stateMap.anchor_map)

描述:
第一次打印时,数据是空的,这是正确的
第二次打印时,出现两个数据chat和_s_chat,chat有值是正确的
问题是不知道_s_chat 哪来的?
然后看到别人的博客上分析了jquery的插件uriAnchor,知道这个值哪来的了。
在《单页Web应用 JavaScript从前端到后端》中,对stateMap.anchor_map用到了赋值语句

出现_s_chat是$.uriAnchor.makeAnchorMap()的原因。
来源:博客(http://blog.csdn.net/fengyinchao/article/details/50642941)
$.uriAnchor.makeAnchorMap()方法
分析URL并生成一个映射,这个方法会在返回的映射里面为带有依赖值的独立值创建额外的键_s_<indendent_arg>,这些额外的键的值是一个独立值后面跟着所有的依赖值.
示例:
假如有如下anchor,
输出:
{ page : 'profile',
_page : {
uname : 'wendy',
online : 'true'
},
_s_page : 'profile:uname,wendy|online,true',
slider : 'confirm',
_slider : {
text : 'hello',
pretty : false
},
_s_slider : 'confirm:text,hello|pretty,false',
color : 'red'
};

浙公网安备 33010602011771号