У меня есть проект Umbraco с разделом Area, настроенным с помощью Angular. Я использую плагины для интеграции области с использованием package.manifest следующим образом:
В edit.controller.js у меня есть этот скрипт:
'use strict';
angular.module("umbraco")
.controller('Administration.AdministrationTree.EditController', function administrationEditController($scope, $routeParams, $http) {
//set a property on the scope equal to the current route id
$scope.id = $routeParams.id;
$scope.url = "";
$scope.canShow = false;
$scope.showIframe = function () {
if ($scope.url === "") {
return false;
}
return true;
};
$scope.canShow = false;
if (!$scope.id) {
return;
}
$http.get('/umbraco/backoffice/administration/CustomSection/GetUrl/?node=' + $scope.id)
.success(function (data) {
$scope.url = JSON.parse(data);
$scope.canShow = $scope.url;
});
});
Когда я запускаю проект и нажимаю на любой узел в этой области, большую часть времени я получаю ошибку 404, как если бы страница не существовала. Я говорю «в большинстве случаев», потому что в 1 случае из 10 это работает и страница отображается.
Однако, если я поставлю точку останова в функции javascript ниже, нажму на любой узел и возобновлю выполнение javascript после того, как точка останова сработает, html-страница, связанная с узлом, отобразится правильно.
Кто-нибудь знает, почему, когда я ставлю точку останова, Umbraco или Angular могут разрешить страницу в 100% случаев, но не когда у меня нет точки останова в этой функции?
Спасибо