Po raz pierwszy używając tutaj angularJS. Zasadniczo skorzystałem z usługi routingu, więc mam połączenie routingowe w szablonie z kodem HTML. Mam również wszystkie te standardowe funkcje javascript, które są wymagane do poprawnego wyświetlania kodu w szablonie (pokazy slajdów i wiele innych rzeczy).Jak używać zwykłego javascript dla kodu wewnątrz ng-view (angularjs)
Po uruchomieniu otrzymuję wszystkie te błędy zerowe (wydaje się, że moje funkcje JS nie mogą znaleźć różnych elementów, ponieważ albo nie mogą uzyskać kodu dostępu w widoku/szablonu, albo zostały uruchomione przed wczytaniem ng-view/template) .
Po wklejeniu wszystkich funkcji javascript w kontrolerze przypisanym do tego szablonu zadziałało. Ale mam wrażenie, że nie powinienem tego robić. Jaki jest właściwy sposób, aby to zadziałało? Dzięki.
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider){
$routeProvider
.when("/",{
templateUrl:"about.html",
controller:"aboutCtrl"
})
.when("/aboutus", {
templateUrl:"entertainment.html"
})
});
app.controller('aboutCtrl', function($scope){
//placed regular javascript/jquery code here to make it work
});
dzięki za kilka. Będę badał więcej i spróbowałem pierwszego rozwiązania, ponieważ wydaje się ono najbardziej eleganckie. – goldensausage
Udało mi się umieścić cały mój kod javascript w oddzielnych dyrektywach (używając templateUrl do połączenia pliku html zawierającego tylko kod JS). Ale pojawił się kolejny problem. offsetHeight zgłasza nieprawidłowe wysokości niektórych elementów div z tekstem w nich (zgłasza poprawność po ponownym odświeżeniu). Rozwiązałem ten problem przed wykonaniem $ (window) .bind ("load", function(), który pozwala wszystkim na załadowanie i wyrenderowanie przed uruchomieniem, ale teraz ta funkcja nie będzie działała w ogóle, gdy jest używana wewnątrz szablonu. – goldensausage