0

Я пытаюсь преобразовать веб-приложение AngularJS в приложение с несколькими устройствами.Windows 8 и href

В веб-приложении я использовал ngRoute. В основном что-то вроде этого

app.config(['$routeProvider',function ($routeProvider) { 
$routeProvider 
    .when('/Home', 
      { 
       controller: 'homeCtr', 
       templateUrl: '/scripts/app/modules/home/home.html' 

      }) 

}]);

и на странице индекса HTML простой HREF и ngView, как показано ниже:

<a ng-href="#/Home">Go to Home</a> 
<div data-ng-view=""> 

</div> 

Если я запустить приложение в Ripple для Android работает как шарм, но и на Windows, или Windows, ARM не работа на всех! Кажется, он не знает, как интерпретировать # по ссылке.

Как его решить?

Спасибо!

+0

Вы попробовали инструкции [здесь] (http://stackoverflow.com/questions/19590818/angularjs-and-windows-8-route-error) – Avani

+0

Привет, Авани, да, в конце концов, я нашел его, и я ответил на мой вопрос отправьте мне всего за 30 секунд до вашего комментария! :) – MilitelloVinx

ответ

1

Я понял это благодаря post и этому article!

В основном проблема заключается в том, что, когда приложение публикуется как приложение для Win, href визуализируется с префиксом как «небезопасный: ms-appx».

Для того, чтобы она работает правильно, достаточно просто добавить этот конфиг

app.config(['$compileProvider', function ($compileProvider) { 
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|ghttps?|ms-appx|x-wmapp0):/);}]); 

Кроме того, имейте в виду, что при настройке templateUrl на $ routeProvider, вы не можете запустить свой адрес с «/» если вы хотите, чтобы приложение отлично работало в Windows (я использовал для установки шаблона url как «/app/views/myView.html», чтобы убедиться, что путь начинается от root, , но этот подход кажется не для оконного приложения).

Спасибо!