У меня возникли проблемы с поиском путей для работы с Android-приложением AngularJS v1.2.0 и PhoneGap/Cordova. Я пришел довольно далеко с html5mode(true)
, установив <base href="."/>
в index.html, а затем изменив $routeProvider.when('/')
на $routeProvider.when('/android_asset/www/index.html')
. После этого я могу получить redirectTo('login')
, чтобы достигнуть $routeProvider.when('/login')
, и там отобразится templateUrl: 'static/partials/login.html'
, как ожидалось.
Проблема заключается в том, что если я вместо этого попытаюсь перенаправить на страницу входа из моего кода Javascript с помощью $location.path('/login');
, маршрут будет найден, но загрузка templateUrl не завершится с исключением insecurl
.
Я пробовал доступ к файлу в белый список://с помощью нового модуля angular -sanitize, но это не помогает.
Как я могу сделать $location.path()
делать те же вещи, что и redirectTo
, чтобы частичная загрузка была загружена? Или есть другой способ решить эту проблему?
UPDATE: я получил бит вперед, добавив вызов функции replace() после функции пути, например:
$location.path('/login').replace();
но это похоже на хак, и это все равно приводит к тому, что templateUrl в противном случае будет терпеть неудачу с тем же исключением.
Любые идеи о том, что может быть неправильным? Является ли это то, что html5mode (true) просто не работает в данный момент с помощью Phonegap, и единственный способ исправить это - установить его в false и добавить хэштеги к каждому пути (например, это сделано в angular phonegap проект семян)?