2016-05-17 3 views
0

Aus irgendeinem Grund, wenn ich meine Seite mit einem ng-view laden, wird ng-view auskommentiert, wenn ich es in meiner Konsole inspiziere, und ich habe keine Ahnung warum .Ng-View ist auf der Seite auskommentiert

Das Lesen anderer Threads mit einem ähnlichen Problem hat sich als fruchtlos erwiesen. Siehe Codefragmente unten. Momentan trete ich einfach routeParams ein, weil ich ein Neuling für AngularJS bin und ich möchte sicherstellen, dass ich alle Werte bekomme, die ich brauche und weiß, mit was ich arbeiten soll. Dies ist in einem Rails-Projekt Referenz:

Seite anzeigen

<div class ="row" ng-view> 
</div> 

App.js

'use strict'; 

var myApp = angular.module("summoners-universe", ['ngRoute']) 


    myApp.config(['$routeProvider', "$locationProvider", function($routeProvider, $locationProvider){ 
     $routeProvider.when("games/:id", { 
     templateUrl: "timer.html", 
     controller: 'CountdownController' 
     }) 
     $locationProvider.html5Mode({ enabled: true, requireBase: false }); 
    }]) 

controllers.js

'use strict'; 
myApp.controller('CountdownController', ["$scope", "$http", "$routeParams", function($scope, $http, $routeParams){ 
    console.log($routeParams) 
}]) 
+0

Sind Sie tatsächlich auf der Seite 'games /: id'? Vielleicht möchten Sie Ihrer Routenkonfiguration ein 'sonst 'hinzufügen, um zu bestätigen, dass es zumindest richtig eingerichtet ist. –

+0

ist es normal, dass das Element 'ng-view' auskommentiert wird; es ist nur ein Platzhalter, der angular sagt, wo die Vorlage aus der 'templateUrl' (' timer.html', in Ihrem Fall) eingefügt werden soll. Der Code in der Vorlagendatei ** ersetzt das auskommentierte Element ng-view vollständig. Wenn Sie keine Vorlagendatei zur Verfügung stellen oder sich auf einer Route befinden, die nicht existiert oder keine "templateUrl" hat, ist der Bereich leer. – Claies

+0

@MatthewGreen Ich setze die andere Anweisung so ein, wie du es empfohlen hast, um auf meine Route umzuleiten. Jetzt, wenn ich zur Seite "Games /: id" gehe, ändert sich die Route vom aktuellen Spiel zur Route. Zum Beispiel, mit der anderen Aussage in, wenn ich auf eine bestimmte Spielshow-Seite klicke, blinkt die URL für eine kurze Sekunde als "localhost: 3000/games/20" (wenn es 20 ist), bis "localhost: 3000 " –

Antwort

0

Ah, einfacher Syntaxfehler. Ich hatte keinen führenden Backslash für diese Spiele/ID Route! Es sollte wie folgt aussehen:/games /: id.

Verwandte Themen