2个问题
blqw opened this issue · comments
blqw.zhou commented
- 关于路由的base怎么设置 文档中似乎没有做出说明
- 希望可以支持路由加参数的支持, 比如 #!/aaa/ppp?id=1
卜卜口 commented
- base 如果是指默认地址的话
Q.init({
index:'home' // 这里可以替换默认路由地址
});
blqw.zhou commented
我知道了 这个路径只是用来触发事件的 我以为包含了加载页面的功能
卜卜口 commented
对的 这个小封装仅仅包含了路由。
参数我感觉可以支持下w
blqw.zhou commented
还有个小需求 我希望在你的这个基础上增加 一个插件 用于支持加载页面
我初步的设想 是修改方式如下
- https://github.com/itorr/q.js/blob/master/q.js#L35
这里如果没找到函数不报错 - 增加多个key和pop绑定的设置
比如默认的!
可以对应pop["!"]
函数, 我可以注册一个key叫:
,并注册pop[":"]
事件
然后在pop[":"]
事件中处理页面加载逻辑
例如#:/aaa/bbb
使得我可以载入aaa/bbb
页面
下午我会提交一个pull试试
卜卜口 commented
- https://github.com/itorr/q.js/blob/master/q.js#L25 在这里有对 view 进行判断,如果没有回调会跳转到 index
- 这个不太明白,是指 通过 间隔符把路由事件分流到两个路由中转上么?
blqw.zhou commented
- index 都没有就会挂掉
- 好吧 其实第二个问题不大 我觉得使用正则也可以轻松的完成
卜卜口 commented
- 🤣
index
本身是有默认值'V'
的,除非是故意设定不存在的路由 - 第二个情况比较少见,满足一面的路由绑定之时、另一半这时 URL 和 view 就无法保持统一,出现这种情况可能是原型设计出了问题?
blqw.zhou commented
index设置了 index
但是没有reg "index"函数
blqw.zhou commented
正则不匹配首页
Q.reg(/^\:.*/, function () {
});
Q.init({
index: ':login'/* 首页地址 */
});
卜卜口 commented
这不就是我说的 故意设定不存在的路由
的情况嘛,这种情况在轮子里做容错没有意义,不如将错误直接抛出
blqw.zhou commented
没有故意输入, 我的意思就就是要正则匹配
没有路由按照 index 匹配
卜卜口 commented
<div id="m"></div>
<script src="../q.js"></script>
<script>
Q.reg(/.+?/,function(){
document.getElementById('m').innerHTML='打开了home页';
});
Q.init({
index:/.+?/ /* 首页地址 */
});
</script>
没毛病的,首页地址可以用正则
blqw.zhou commented
不不不 你没有理解我的意思
首页默认地址是 abc
正则判断 a 开头的 进入正则处理
<div id="m"></div>
<script src="../q.js"></script>
<script>
Q.reg(/^a/,function(){
if(Q.lash === "abc"){
document.getElementById('m').innerHTML='打开了home页';
}
//这里处理其他逻辑
});
Q.init({
index:"abc" /* 首页地址 */
});
</script>
卜卜口 commented
有点蒙,默认地址和 hash 地址的匹配不同,你可以理解必须是 ==
而不是按照 /
分割 或者 正则匹配。
卜卜口 commented
唔,我大致理解了你的需求点
比如 作为博客,我可能想将某个文章作为默认首页 之类么?