Javascript 面临将数据存储到工厂并在不同控制器中使用的问题

Javascript 面临将数据存储到工厂并在不同控制器中使用的问题,javascript,angularjs,Javascript,Angularjs,我是新的Angularjs,从2个月开始使用它,现在在我的项目中,我需要从Angularjs迁移到Angularjs。所以我需要将整个代码重新写入Angular。我看到以前的开发人员使用了这么多$rootscope来存储值,并在其他控制器中使用该值。我正在尝试使用服务来实现这一点,以便可以轻松地迁移到Angular。 请看我的代码,让我知道我犯了什么错误 下面是我创建factory服务的代码,以及我试图在其他控制器中访问的服务。 app.js first.js angular.module('m

我是新的Angularjs,从2个月开始使用它,现在在我的项目中,我需要从Angularjs迁移到Angularjs。所以我需要将整个代码重新写入Angular。我看到以前的开发人员使用了这么多$rootscope来存储值,并在其他控制器中使用该值。我正在尝试使用服务来实现这一点,以便可以轻松地迁移到Angular。
请看我的代码,让我知道我犯了什么错误

下面是我创建factory服务的代码,以及我试图在其他控制器中访问的服务。 app.js

first.js

angular.module('myApp', [])
       .controller(FirstCtrl, function($scope, $rootScope){
         $scope.data = Data;

       });
second.js

angular.module('myApp', [])
       .controller(SecondCtrl, function($scope){
         $scope.data = Data;
       });

您需要将工厂注入控制器。 文件如下:

它应该是这样的:

App.js

var app = angular.module('myApp', []);

app.factory('Data', function(){
  return {message: "I'm a data from a Service"}
});

app.controller('FirstCtrl', ['$scope', 'Data', function($scope, Data){
  $scope.data = Data.message;
}]);
和html文件:

<html ng-app="myApp">
  <head>
    <title>AngularJS Services</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.5/angular.min.js"></script>
    <script type="text/javascript" src="app.js"></script>
  </head>
  <body>
    <div>
      <h1>Services</h1>
    </div>
    <div ng-controller ="FirstCtrl">
      {{data}}
    </div>
  </body>
</html>

AngularJS服务
服务
{{data}}

这是最后一个链接。对于像我这样的新开发人员来说,这只是一个使用服务在两个控制器之间共享数据的教程:-

var app = angular.module('myApp', []);

app.factory('Data', function(){
  return {message: "I'm a data from a Service", error: "Hey, i have errored :)"}
});

app.controller('FirstCtrl', ['$scope', 'Data', function($scope, Data){
  $scope.data = Data;
}]);

嘿,谢谢你的帮助。好像没有人愿意帮助新的开发者。我明白这也不起作用。我实现了同样的功能。但我有了一个新概念,它说ctrl没有定义好,你把ng应用程序设置在了错误的位置。它需要位于控制器的父元素中,通常为或元素。还有一些拼写错误,现在将固定代码附加到答案:)我已经给出了plnkr链接。你有可能去那里试试吗。这对我也不起作用。不知道是什么问题
var app = angular.module('myApp', []);

app.factory('Data', function(){
  return {message: "I'm a data from a Service", error: "Hey, i have errored :)"}
});

app.controller('FirstCtrl', ['$scope', 'Data', function($scope, Data){
  $scope.data = Data;
}]);