我正在使用AngularJS和Adobe CQ5的组合。
我已经实现了路由来加载不同的视图。视图加载完美但URL不附加#/path
,它仅显示基本路径,例如
而不是
因此,当我刷新页面时,它会加载路径路径(/)模板,而不是再次加载相同的视图。
我正在努力解决这个问题。这是我的控制器代码:
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');
}
});
});
答案 0 :(得分:2)
这不是CQ5的问题。当您从Siteadmin打开页面时,默认情况下您的页面会加载到 contentfinder (/cf#
)中。
现在,contentfinder已将您的网页网址作为哈希值。因此,即使角度视图正常工作,您也会发现URL无法更新。
尝试在没有contentfinder的情况下访问同一页面。即,
http://localhost:7001/content/requestpage.html
而不是
http://localhost:7001/cf#/content/requestpage.html
你应该找到按预期工作的东西。