Angular JS URL重写问题

时间:2015-12-16 07:46:47

标签: angularjs url-rewriting

我目前正在开发一个Angular应用程序并面临一些URL问题。

问题

我的应用程序的主页面有多个部分,所有部分都从后端获取数据。每个部分都有一个动画卷轴,例如如果我在section1并选择Section3,它会以一种很好的动画方式将我滚动到Section3。我有几页也从后端获取但完全改变了视图。这是视图的层次结构:

第1页

第1节,第2节,第3节,第4节,第5节(将在整个应用程序中显示,也称为HEADER)

Section5

Link1,Link2(每个链接完全是一个单独的视图)

如果我在Link1上并单击任何部分,它会相应地将#附加到URL,并且不会将我重定向到实际部分。

问题(S)

  1. 我根本不想在任何地方使用#,我怎么能摆脱它呢?
  2. 我不想从我的主页上删除动画。
  3. 如果我在其他视图上并点击任何部分(HEADER),它应该带我到那个特定的位置,我该怎样才能实现这个目标?
  4. 这是我的routes.js文件:

    var webApp = angular.module('webApp', ['ngRoute','ngSanitize']);
    
        webApp.config(function($routeProvider, $locationProvider) {
    
            if(window.history && window.history.pushState) {
    
                $locationProvider.html5Mode({
                    enabled: true,
                    requireBase: false
                });
            }
    
            $routeProvider
                .when('/', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
                //section2
                    .when('/section2', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/section3', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/section4', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/section5', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/section7', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/section8', {
                    templateUrl : 'application/header.jsp',
                    controller  : 'homeController'
                })
    
                .when('/Link1', {
                    templateUrl : 'application/link1.jsp',
                    controller  : 'link1Controller'
                })
    
                .when('/Link2', {
                    templateUrl : 'application/link2.jsp',
                    controller  : 'link2Controller'
                })
    
                .when('/Link3', {
                    templateUrl : 'application/link3.jsp',
                    controller  : 'link3Controller'
                });
        });
    

    任何帮助将不胜感激,如果遗漏或需要任何帮助,请告诉我。

0 个答案:

没有答案