2014-04-29 10 views
5

Pracuję nad prostą aplikacją w RhoMobile i używam z nią AngularJS. Podczas definiowania routeProvider dotarłem do najdziwniejszej kwestii, jaką widziałem.
Próbowałem wielu rzeczy, na przykład zmieniłem ścieżkę dla templateUrl definiując jawną, ale bez powodzenia. Ale jeśli użyję właściwości szablonu zamiast templateUrl, to działa.

ja dostaję ten błąd:

Error: 'undefined' is not a function (evaluating '$sce.getTrustedResourceUrl(templateUrl)')

Używam AngularJS v1.2.16 i jestem z pomysłów.

EDIT: skonfigurować przykładową aplikację RhoMobile z kątowym nasion, która ma błędu można znaleźć aplikację here

UPDATE:: Dostałem odpowiedź od RhoMobile głównych deweloperów, że będzie naprawiono w 4.2

+0

Nie jestem zaznajomiony z/rhomobile, ale właśnie przeszukałem twoje repozytorium dla '$ sce' i znalazłem tylko odniesienia pod' public/lib/angular', czy możesz wskazać, skąd w kodzie pochodzi ten problem? – Brocco

+0

Jest to faktycznie pochodzący z angular-route.js z jakiegoś dziwnego powodu, gdy aplikacje te działają z rhomobile, funkcja zmienia nazwę z tego powodu, dla którego jest niezdefiniowana. Zostanie wywołana, gdy aplikacja config() przechodzi. – TheCodeDestroyer

+0

Podaj społeczności więcej kontekstu. Jak wygląda Twoja usługa, jak wygląda Twój kontroler? Jak to piszesz? Nie mogę ci pomóc, jeśli nie podłączysz wyodrębnionego przykładu za pomocą plunkera lub czegoś podobnego. Łączenie całej aplikacji nie pomaga. – btm1

Odpowiedz

0

Działa poprawnie, gdy jest obsługiwany statycznie, więc RhoMobile prawdopodobnie skręca z początkiem i uruchamia aplikację w kwestiach CORS.

git clone https://github.com/TheCodeDestroyer/rhomobile-angular 
cd rhomobile-angular/ 
python -m SimpleHTTPServer 
open "http://localhost:8000/public" 
# click around... it works! 
+0

Tak jak powiedziałem w komentarzach jako normalna strona internetowa działa, ale z połączeniem rombowym niestety nie ma ... – TheCodeDestroyer

+0

Odnośnie początków, nie jest to prawdziwe. W rzeczywistości niektóre funkcje $ sce są zmieniane w czasie wykonywania RhoMobile. Przykład '$ sce.getTrustedResourceUrl()' jest przemianowany na '$ sce.getTrustedResource url() ", to dlatego błąd nieokreślony. – TheCodeDestroyer

+0

Rozumiem. Nie byłem w stanie uruchomić RhoMobile, więc nie spotkałem się z tym błędem. Wygląda jak bug RhoMobile; Sugerowałbym złożenie raportu o błędzie na ich stronie. – chbrown

-1

Wygląda na to, że nie zawiera modułu ngSanitize.

+0

Próbowałem bez różnicy. Kwestia jest wprost w rhomobile ... – TheCodeDestroyer

0

Rzeczywiście, problem nie ma żadnego związku z kodem romobilowym. Rhomobile używał pliku opal.rb/opal.js, który kolidował z plikiem angular.js do wersji RMS4.2. Uruchomiony z RMS4.2 opal.js nie jest już w użyciu. Może być inny powód twojego problemu.

Jeśli uruchomisz aplikację za pomocą RhoSimulatora w systemie Windows, może to być błąd metody toLowerCase() klasy String. Wygląda na to, że błąd występuje w komponencie QTWebView używanym w RhoSimulator. Właśnie to odkryłem i naprawiłem. Problem pojawia się tylko w oknach. W systemie Mac OS X wszystko działa poprawnie.

Spróbuj ocenić następujące wyrażenie w konsoli internetowej RhoSimulator: „RESOURCE_URL” .toLowerCase()

W przypadku ocenia jako „URL zasobów” można angularjs nie będzie działać.

Uważaj na aktualizację swojego biletu wsparcia RhoMobile.

Powiązane problemy