2017-06-21 9 views
-1

Was soll ich in eine andere JavaScript-Datei schreiben, wenn ich den Wert von name bekommen möchte? HierWie bekomme ich die Variable von einer anderen JavaScript-Datei?

ist der Code:

var myApp = angular.module('myApp',[]); 
myApp.factory('UserService', function() { 
    return { 
     name : 'blabla' 
    }; 
}); 

function MyCtrl($scope, UserService) { 
    $scope.name = UserService.name; 
}; 

Antwort

1

UserService ist ein Winkel Service, so darauf zugreifen, müssen Sie es injizieren in Inneren, was Sie wollen, sei es ein directive, eine andere service, controller, etc Sie können nicht außerhalb des Winkelbereichs darauf zugreifen.

Heres, wie Sie es sich in einer Beispielrichtlinie zugreifen können

//need to add myApp module as a dependency 
angular.module('sampleModule',['myApp']) 
    //inject it here 
    .directive('sampleDirective',['UserService',function(UserService){ 
     return { 
      scope:{}, 
      restrict:'E', 
      link:function(scope, elem, attr){ 
        // access UserService here 
        console.log(UserService.name); 
      } 
     } 

}]) 
. 
+0

Danke für Ihre Antwort. Ich werde es auch überprüfen. – John

-1

Was meinst du mit einem anderen JavaScript-Datei? Der Wert von name wird in "UserService" zurückgegeben. Wenn Sie auf denselben Namen in einem anderen Teil Ihrer Anwendung zugreifen möchten, z. B. einen anderen Controller/eine andere Direktive, müssen Sie diesen Dienst einspeisen ("UserService").

+0

danke für die antwort – John

Verwandte Themen