AngularJS工厂中的其他文件

时间:2019-01-07 10:46:25

标签: angularjs

我对angularJS完全陌生,所以这对我来说是第一次。我已经初始化了angular应用程序,创建了一个控制器,直到一切正常为止。当我在另一个文件中创建工厂时,问题就开始了,然后我不知道如何在控制器中注册它。当我像引用工厂一样引用控制器时,得到Error: $injector:unpr Unknown Provider。我在做什么错了?

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

app.controller("appCtrl", function($http, appFactory) {
var that = this;
// Some stuff

}

这是工厂的其他文件。

var app = angular.module("app");

app.factory("appFactory", function() {
var factory = {};
someData = [];


    factory.getData = function() {
        return someData;
  };
    return factory;
});

1 个答案:

答案 0 :(得分:0)

不要再次创建模块。从工厂文件代码中本质上删除此行“ var app = angular.module(“ app”);“。并使用getter语法创建服务。 HTML文件

    <html>
<head>
    <title>title</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.js"> </script>
    <script src="app.js" /> </script>
    <script src="service.js" /> </script>

</head>
<body ng-app="myApp" ng-controller="myCtrl">
    {{text}}
</body>

控制器

    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, myserv) {
    $scope.text = myserv.myFunc();
    });

服务/工厂

    app.service('myserv', function() {
          this.myFunc = function () {
    return 'abc';
}

});