При использовании ng-include
функция pushState
нарушается.
Ниже приведен простой пример этого.
<div ng-app="angularApp" ng-controller="angularCtrl">
<div ng-include="templateUrl"></div>
<button ng-click="bye()">BYE</button>
</div>
и
let app = angular.module('angularApp', []);
app.controller('angularCtrl', async function ($scope) {
$scope.templateUrl = '/assets/hi.html';
$scope.bye = function () {
$scope.templateUrl = '/assets/bye.html';
history.pushState({},'','/finish.html')
};
});
Мы хотим изменить значение тела после нажатия кнопки BYE
с помощью ng-include
, а также изменить адрес страницы на pushState
. Этот пример является частью более крупного проекта, который здесь максимально упрощен.
Примечание: Согласно обзорам, URL-адрес изменяется pushState, но сразу же возвращает его значение. Он игнорируется во время процесса ng-include.