1.在vue.js中组件可以复用,然后最近配置了几个子页面

这个文件中配置路由,子页面的配置跟其他一样,只不过path不同。

  routes: [
    {
path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/city/lichuan',
      name: '利川',
      component:citylevel
    }
这样,就可以通过路径直接访问到这个页面,同时比较方便的就是通过name这个值可以传递参数到该页面。当时不知道可以这样传参,就卡壳在拼音(路径截取到)到中文(入参)转换的问题。
后来发现有这个name,可以直接通过this.$route.name获取到,中文也可以传参了。
顺带附上截取:

window.location.href; //获取url中"?"符后的字串

这个后来没有用上。

 
2。angular中配置路由 其中还有部分创建过程不是很明白 浏览器有点问题 下次补充
这里是实现不同权限的用户看到看到不同的导航栏:
在config.js中写不同的menu,

在menu中:

 
        "name": "导航栏标题1",
        "icon": "text-primary glyphicon glyphicon-picture",
        "submenu": [
            {
                "name": "导航栏标题1.1",
                "url": "#/mainMenu/comAccInfoManagement"
            },  {
                "name": "导航栏标题1.2",
                "url": "#/mainMenu/supAccInfoManagement"
            },  {
                "name": "导航栏标题1.3",
                "url": "#/mainMenu/admAccInfoManagement"
            },
        ]

在app.js中配置页面:

.state('mainMenu.comAccInfoManagement,{
        url: '/SaleReport',
        templateUrl: 'views/back/comAccInfoManagement.html',          //文件夹 的路径
        controller: 'comAccInfoManagement'     //js文件路径
    })
 
 
 
生成导航:
function createMenu(arr) {
        var $ul_1 = $('<ul></ul>');
        $ul_1.addClass('main-menu');
        $.each(arr,
        function() {
                var $oLi = $('<li><h4><i></i>' + this.name + '</h4></li>');
                // var $oLi = this.url ? $('<li><h4><i></i><a href = ' + this.url + '>' + this.name + '</a></h4></li>') : $('<li><h4><i></i>' + this.name + '</h4></li>');
                $oLi.find('i').addClass(this.icon);
                if (this.submenu) {
                        createSubMenu(this.submenu, $oLi);
                };
                $ul_1.append($oLi);
        });
 
        //层级缩进
        var $oUl = $ul_1;
        var lev = 1;
        var initTextIndent = 2;
        while ($oUl.find('ul').length > 0) {
                initTextIndent = parseInt(initTextIndent) + 1.5 + 'em'; //增加一个级别,缩进增加2em
                $oUl.children().children('ul').addClass('lev-' + lev)
                            .children('li').css('text-indent', initTextIndent);
                $oUl = $oUl.children().children('ul');
                lev++;
        };
 
        // $ul_1.find('ul').hide();
        // $ul_1.children(':first').children('ul').show();
        // $ul_1.children(':first').find('li,a').addClass('current');
        // console.log($ul_1);
        //绑定事件
        $ul_1.find('h4,a').click(function() {
                if ($(this).siblings('ul').length > 0)
                    $(this).siblings('ul').slideToggle('fast').end()
                        .children('img').toggleClass('unfold');
                   
                else {
                        $ul_1.find('li,a').removeClass('current');
                        $(this).addClass('current');
                        //$("ul.main-menu li:first ul.lev-1").css('display','none');
                }
                // $(this).parent('li').siblings().find('ul').hide()
                //         .end().find('img.unfold').removeClass('unfold');
        });
       
 
        $('.wrap-menu').append($ul_1);
    };
//创建子菜单
    function createSubMenu(sArr, $tLi) {
        var self = arguments.callee;
        var $sUl = $("<ul></ul>");
        var oUrl, $sLi;
        $.each(sArr,
        function() {
                oUrl = this.url || 'javascript:void(0)';
                $sLi = $('<li><a href="' +oUrl+ '">' + this.name + '</a></li>');
                if (this.submenu) {
                        // $sLi.children('a').prepend('<img src="data:images/blank.gif" alt=""/>');
                        self(this.submenu, $sLi);
                }
                $sUl.append($sLi);
        });
        $tLi.append($sUl);
        // // $sUl.find('li.a').click(function(event) {
        //   Act on the event
        //  alert(this.url);
        // });
    };
    // createMenu(aMenu);
    var authority = function(){
        if (sessionStorage.getItem('userKindId')=="1") {
            createMenu(aMenu);
         // $location.path("/mainMenu/Zshow");
        }
        else if (sessionStorage.getItem('userKindId')=="2") {
            createMenu(aMenu1);
            // $location.path("/mainMenu/Zshow");
        }
        else if (sessionStorage.getItem('userKindId')=="3") {
            createMenu(aMenu2);
            // $location.path("/mainMenu/Zshow");
        }else if (sessionStorage.getItem('userKindId')=="5") {
            createMenu(aMenu3);
            // $location.path("/mainMenu/Zshow");
        }
    }
    authority();  
 

angular配置路由/子页面+vue配置路由/子页面的更多相关文章

  1. 四、vue前端路由(轻松入门vue)

    轻松入门vue系列 Vue前端路由 七.Vue前端路由 1. 路由的基本概念与原理 后端路由 前端路由 实现简单的前端路由 vue-router基本概念 2. vue-router的基本使用 基本使用 ...

  2. vue - 详细路由配置

    1. 路由可配置多个 2. 路由包含嵌套子路由 3. 路由可以别名 4. 路由单独钩子 5. vue2.6.0(可以直接匹配大小写) export default new Router({ mode: ...

  3. vue创建路由,axios前后台交互,element-ui配置使用,django contentType组件

    vue中创建路由 每一个vue组件都有三部分组成 template:放html代码 script:放js相关 style:放css相关 vue中创建路由 1.先创建组件 Course.vue 2.ro ...

  4. vue的路由配置

    路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页面中就要显示about 的内容.Home按钮 => home 内容, ...

  5. Vue配置路由和传参方式及路由守卫!

    安装路由 npm i vue-router -S 引入路由 import VueRouter form VueRouter 注入路由模块 Vue.use(VueRouter) 定义路由匹配规则 let ...

  6. vue 路由(二级)配置及详细步骤

    1.安装插件(可以选择在初始化项目的时候安装) cnpm install vue-router --save-dev 2.将插件全局引入到项目中(main.js) import VueRouter f ...

  7. (一) Vue在创建的时候 入口文件 及相关的路由配置(及子路由配置)

    1. 首先明确一点  在书写之前尽量保持相关的文件知道含义 比如 components 啥的 知道是要放什么东西 在这里介绍一下   由于 vue 不是系统学习 所以很多的创建方式可能不一样  就是有 ...

  8. vue+element-ui路由配置相关

    vue+element-ui路由配置相关 转自:http://www.cnblogs.com/MonaSong/p/6703804.html vue-router2中说明了,子路由前面可以不加'/', ...

  9. vue入门----------路由配置

    在使用脚手架搭建好项目后要配置路由 1.首先要安装vue-router,你可以在项目的package.json文件中的dependencies项目中添加"vue-route": & ...

随机推荐

  1. Java stream的常见用法

    不讲原理,只说用法. 1,集合遍历 public class StreamTest { public static void main(String[] args) { //1 遍历 List< ...

  2. Linux防火墙iptables基础详解

    原文来自于:https://www.linuxidc.com/Linux/2017-01/140073.htm(引用自) 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分 ...

  3. 为什么越来越多的人偏爱go语言

    如果你是一个开发者或者程序员,你大概应该听过Go语言或者Golang语言.当然,如果没有听过也没关系,看到这篇文章的同学,就说明你对Golang是关注的,只需要这一点就够了.今天来聊聊关于Golang ...

  4. 【题解】Luogu P2221 [HAOI2012]高速公路

    原题传送门 这道题还算简单 我们要求的期望值: \[\frac{\sum_{i=l}^r\sum_{j=l}^rdis[i][j]}{C_{r-l+1}^{2}}\] 当然是上下两部分分别求,下面肥肠 ...

  5. loj 6037 「雅礼集训 2017 Day4」猜数列 - 动态规划

    题目传送门 传送门 题目大意 有一个位置数列,给定$n$条线索,每条线索从某一个位置开始,一直向左或者向右走,每遇到一个还没有在线索中出现的数就将它加入线索,问最小的可能的数列长度. 依次从左到右考虑 ...

  6. TCP/IP学习

    1.TCP/IP网络包括两部分 ①传输协议 ②网络协议

  7. Ubuntu18.04安装SS(不是服务器端!!!)

    终于下定决心把我1T的机械硬盘格式化了- -,分了100G装了Ubuntu 18.04,在安装shadowsocks的时候有些东西想记下来.shadowsocks目前在ubuntu上使用的主要有两个版 ...

  8. shell编程(六)之数组

    数组: 存储多个元素的连续的内存空间 索引: 编号从0开始,属于数值索引 注意:索引也可支持使用自定义的格式,而不仅仅是数值格式 声明数组: declare -a ARRAY_NAME declare ...

  9. SPOJ 1811 LCS - Longest Common Substring

    思路 和SPOJ 1812 LCS2 - Longest Common Substring II一个思路,改成两个串就有双倍经验了 代码 #include <cstdio> #includ ...

  10. MpVue 致力打造H5与小程序的代码共用

    MpVue是什么 基于 Vue.js 的小程序开发框架 从底层支持 Vue.js 语法和构建工具体系. 使用vue开发小程序 修改了 Vue.js 的 runtime 和 compiler 实现,使其 ...