Mam aplikację Rails z widokami Haml. Teraz chcę dodać AngularJS do niektórych części aplikacji, ale problem polega na tym, że widoki Haml są renderowane po stronie serwera, a kod AngularJS nie działa, ponieważ jest renderowany po stronie klienta.Używanie AngularJS w widokach Haml aplikacji Railsy
Powiedzmy, że właśnie to w moim index.html.haml:
!!!
%html{"ng-app" => "Test"}
%head
%script{:src => "http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js"}
:javascript
function Clock($scope) {
$scope.currentTime = new Date();
}
%title Welcome to AngularJS
%body
%h1 Hello, World.
%p{"ng-controller" => "Clock"}
The current time is {{currentTime | date:'h:mm:ss a'}}.
więc obecnie, to tylko drukowanie wszystko wewnątrz nawiasów klamrowych bez faktycznie przetwarzanie. Istnieją rozwiązania, ale w sytuacjach, w których cały widok jest zastępowany szablonem AngularJS. Chcę używać AngularJS głównie dla małych bitów funkcjonalności w mojej aplikacji Rails. Wszelkie pomysły, jak to rozwiązać?
Dzięki, że działa. Popełniłem błąd, nadając mojej kanciastej aplikacji nazwę w tagu HTML het, ale nie utworzyłem przestrzeni nazw. – John
Jedną z bardzo niewielkich poprawek w Haml jest napisanie% html {"ng-app" => true} lub% html (ng-app = true), z których oba będą skutkować bez pustego łańcucha. –
Z 'haml 4.0.5' (pod Rails 4) stwierdziłem, że mogę po prostu przejść'% html (ng-app) '. –