javascript - angularjs的二级路由的js会互相影响,这是为啥?
PHPz
PHPz 2017-04-11 12:44:22
[JavaScript讨论组]

如下图所示,总览和客服两个页面共用这个head部分,两个页面由两个控制器控制,而这两个页面都要实现图右的导出数据功能,我在做测试过程中发现,当停留在总览页面的时候,导出数据是总览的页面。当我页面停留在客服页面的时候,点击导出数据功能发现,导出的还是总览页面的,第二次点击才是客服页面的。经控制台打印,总览页面和客服页面的标识(其实就是console.log(123),仅用作测试而已)都会出现,若在客服页面刷新,打印的只有客服页面的标识。但是这个两个页面都是写在不同的控制器里面呀,客服页面怎么能获取到总览页面的标识啦?如果多次在总览页面和客服页面点击,再导出数据的时候会出现同个数据表多次导出的情况。怀疑是路由的问题,请赐教!

路由配置:
.state('manager_reportForm', {

        url:'/manager_reportForm',
        templateUrl: 'manager_reportForm',
        
    })
    .state('manager_reportForm.pandect', {
        url:'/pandect',
        templateUrl: 'pandect',
        controller:'pandect'
    })
    .state('manager_reportForm.manager_serverRoute', {
        url:'/manager_serverRoute',
        templateUrl: 'manager_serverRoute',
        controller:'manager_serverRoute'
    })

一级路由:
ui-sref='manager_reportForm.pandect'

  • 报表
  • 二级路由:

        

    总览 客服

    昨天

    • 昨天
    • 过去7天
    • 过去30天

    自定义范围

    你输入的日期有误,请重新输入

    导出当前数据

    PHPz
    PHPz

    学习是最好的投资!

    全部回复(1)
    PHP中文网

    是否尝试过。点击客服标签的时候将标识改成客服的标识。点击总览的时候才是总览的标识。当进入页面的时候给个默认值就好

    <p class='manageReportForms_route'>
        <a ui-sref=".pandect" key='all' class='pandect on'>总览</a>
        <a ui-sref=".manager  key='waiter'_serverRoute" class='manageReportForms_serverRoute'>客服</a>
    </p>
    
    
    这样   把标识写到key里  下载的时候。获取当前高亮的标签的key值
    
    例如
    $('.manageReportForms_route .on').attr('key');
    
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号