avalon 分页组件路由

发布于 2022-09-03 19:05:29 字数 2308 浏览 18 评论 0

当在项目中加入mmRouter,路由控制以后,点击分页组件上的按钮会时,路由会自动切换,导致页面显示错误!
关键代码如下:
入口文件

var avalon = require('avalon2')
require('../dist/mmRouter');
require('ms-pager')
var a = require("../test.html");
var b = require("../login.html");
var c = require("../test111.html");
var map = {
    'testa' :a,
    'testb' : b,
    'testc' :c
};
window.vm = avalon.define({
    $id: 'test',
    main:'',
    config: {
        totalPages: 10,
        showPages: 5,
        currentPage:1,
        firstText:'首页',
        nextText: '下一页',
        prevText: '上一页',
        lastText:'尾页',
       onPageClick:function(){
       }
    }
})

setTimeout(function(){
    window.vm.config = {
        totalPages: 10,
        showPages: 5
    }
}, 1000)


avalon.router.add("/:tab", function (param) {
    console.log(param);
    
    vm.main = map[param];
})
avalon.history.start({
    root: "/mmRouter",
    hashPrefix: ""
})


var hash = location.hash.replace(/#!?/, '')
avalon.router.navigate(hash || '/testa', 2)//默认打开
avalon.scan(document.body)

html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">  
    <link href="./dist/pager.css" rel="stylesheet"/>
    <script src="./dist/common.js"></script>
    <script src="./dist/pager.js"></script>

</head>
<body>
<div class="home-container" ms-controller="test">
    
    <p><a href="#!/testa">测试1</a></p>
    <p><a href="#!/testb">测试2</a></p>
    <p><a href="#!/testc">测试2</a></p>
        
    
       <div ms-html="@main"></div>
       <wbr ms-widget="[{is:'ms-pager'}, @config]" />
</div>
</body>
</html>

图片描述

点击测试1,测试2,测试3一切正常
但当点击分页按钮时,就会出现
图片描述

路由改变了,但怎么在mmrouter中处理啊?
另外,当刚打开页面时,点击分页组件下一页,路由地址直接变为page-3,正常的应该是page-2啊

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文