我無法將服務注入控制器。一年前我能夠執行一個類似的代碼,但是這次我運氣很好。向控制器注入服務拋出錯誤
app.js
'use strict';
var app = angular.module('product', [
"ngRoute",
]);
main.ctrl.js
'use strict';
app.controller('mainCtrl', ['$scope','$http','srv', function ($scope,$http,srv) {
var srvUrl = srv.getSrvUrl;
var data = srv.getData(1,2);
}]);
srv.js
app.service("srv", function ($http,$scope) {
this.getSrvUrl = "http://127.0.0.1/api/";
this.getData = function(a,b) { return a*b; }
});
的index.html
<!--JS-->
<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
<!--APP-->
<script type="text/javascript" src="app/app.js"></script>
<!-- ROUTE -->
<script type="text/javascript" src="bower_components/angular-route/angular-route.min.js"></script>
<script type="text/javascript" src="app/routes/app.route.js"></script>
<!-- SERVICE -->
<script type="text/javascript" src="app/services/srv.js"></script>
<!--CONTROLLER-->
<script type="text/javascript" src="app/controllers/main.ctrl.js"></script>
控制檯錯誤
angular.js:14362
Error: [$injector:unpr] http://errors.angularjs.org/1.6.2/$injector/unpr?p0=%24scopeProvider%20%3C-%20%24scope%20%3C-%20srv
at angular.js:38
at angular.js:4650
at Object.d [as get] (angular.js:4803)
at angular.js:4655
at d (angular.js:4803)
at e (angular.js:4828)
at Object.instantiate (angular.js:4874)
at Object.<anonymous> (angular.js:4712)
at Object.invoke (angular.js:4862)
at Object.$get (angular.js:4696)
請幫助。
我認爲您無法在服務中注入$ scope。嘗試刪除該 – anand
是的,這是問題。 –