2017-10-30 2 views
0

OK, gerade wenn ich denke, dass ich AngularJS verstehe, bekomme ich gezappt.

Ich habe eine Anwendung, die eine Reihe von verschiedenen Google Maps verwendet. Ich möchte, dass der Benutzer auf einen Marker klickt und das System dann auf einen neuen Bildschirm mit Informationen über was geklickt wurde.

Alles funktioniert gut bis zu einem gewissen Punkt. Ich erhalte das Klickereignis und mache mich dann bereit, zum entsprechenden Bildschirm zu gehen. Mein Code an dieser Stelle wie folgt aussieht:

$window.location.href = "#/" + ScreenName + "/" + Parameter ; 

An dieser Stelle ich den Fehler:

ReferenceError: Can't find variable: $window 

Welche Such mir sagt, ich brauche $window

Ich habe versucht, eine Reihe von verschiedenen haben zu injizieren Wege, um diese Injektion zu tun, aber das ist auch, wo meine persönliche Wissensdatenbank mich versagt.

Ich glaube, ich brauche meine app.js Datei wie folgt aussehen haben:

.config([ 
    '$routeProvider', 
    function($routeProvider) 
     { 
     $routeProvider. 
     when("/customer/:cust_gid", {templateUrl: "views/div_Cust.html", controller: "customerController"}). 
     when("/location/:locn_gid", {templateUrl: "views/div_Locn.html",controller: "locationController"}). 
     otherwise({redirectTo: '/utilities'}); 
     }]) 
.config(function ($windowProvider) { 
    var $window = $windowProvider.$get(); 
    console.log($window); 
}); 

Das ist nichts für mich. Ich muss es wissen, wenn ich in der Nähe bin und einfach nicht die richtige Syntax habe oder etwas fehlt.

Benötige ich eine Include-Datei in meiner index.html Datei, um $windows zu laden?

Kann jemand mir eine Kindergarten-Ebene Antwort auf diese Frage geben.

Appreciate Stan

+0

verwenden sollten, Warum nicht '$ verwenden location.path (Screenname + "/" + Parameter);' für die Umleitung? –

+0

Danke für die Möglichkeit, aber als ich das versuchte, habe ich das gleiche Problem. Ich muss diese Injektionssache herausfinden. – stoshb

Antwort

0

$windows ein globaler Service ist, die in AngularJS enthalten ist. Sie benötigen keine zusätzliche Bibliotheksreferenz dafür.

es zu bedienen, einfach zu injizieren ist wie jeder andere Dienst in der Steuerung, die es

app.controller('locationController', function($scope, $window).. 
+1

Das ist zu einfach. Das kommt von dem Versuch, etwas nur mit Google zu lernen. Einige der wichtigsten Ideen zeigen sich nicht unbedingt. – stoshb