AngularJS + Adob​​e CQ5 - 浏览器URL不会附加散列路径,但会更改视图

时间:2014-07-22 15:56:04

标签: angularjs cq5

我正在使用AngularJS和Adobe CQ5的组合。

我已经实现了路由来加载不同的视图。视图加载完美但URL不附加#/path,它仅显示基本路径,例如

  • localhost:7001 / cf#/ content / requestpage.html#/

而不是

  • 本地主机:7001 / CF#/内容/ requestpage.html#/的checkStatus 即可。

因此,当我刷新页面时,它会加载路径路径(/)模板,而不是再次加载相同的视图。

我正在努力解决这个问题。这是我的控制器代码:

var demoapp=angular.module('demoApp',['ngRoute','ngSanitize']);
demoapp.config(function($routeProvider,$locationProvider) {

    // use the HTML5 History API
        //$locationProvider.html5mode(false);
    $routeProvider


              .when('/', {
                templateUrl: '/content/index.html?wcmmode=disabled',
                controller: 'myfirstcontroller'
            })
                    .when('/checkstatus', {
                templateUrl: '/content/housetemplate.html?wcmmode=disabled',
                controller: 'houseController'
            })
            .otherwise({
                redirectTo: '/'
              });
        });

demoapp.controller('houseController', function($scope, $routeParams,$http)
{
//code
});

demoapp.controller('myfirstcontroller', function($scope,$http,$rootScope,$location,$compile)
{ 


    //On Form Submit
    $scope.continueForm = function(isValid){

        if (isValid) 
        {
              $location.path('/checkstatus');


        }
    });
});

1 个答案:

答案 0 :(得分:2)

这不是CQ5的问题。当您从Siteadmin打开页面时,默认情况下您的页面会加载到 contentfinder /cf#)中。

现在,contentfinder已将您的网页网址作为哈希值。因此,即使角度视图正常工作,您也会发现URL无法更新。

尝试在没有contentfinder的情况下访问同一页面。即,

http://localhost:7001/content/requestpage.html

而不是

http://localhost:7001/cf#/content/requestpage.html

你应该找到按预期工作的东西。