简体   繁体   English

如何在angular-boilerplate中创建和使用服务(AngularJS + RequireJS)

[英]How to create and use services in angular-boilerplate (AngularJS + RequireJS)

In use angular-boilerplate project I can't figure it out how to create new service and call inside controllers. 在使用angular-boilerplate项目时,我无法弄清楚如何创建新服务并在控制器内部调用。 I've declared service app/services/ first.js like this: 我已经这样声明了服务app / services / first.js

define(function (require) {
require("services/_module");

var angular = require("angular");
angular.module("App.services").service("AppFirstService", function ($scope) {

    return {
        sayHello: function() {
            return "Hello, World!"
        }
    };
});
});

add its requirement to _package.js file: 将其要求添加到_package.js文件中:

define(function (require) {
require("services/_module");
require("services/first");
});

and finally injected it to controller app/controllers/ first.js : 最后将其注入控制器app / controllers / first.js

define(function (require) { require("controllers/_module"); require("services/first"); define(function(require){require(“ controllers / _module”); require(“ services / first”);

var angular = require("angular");

angular.module("App.controllers").controller("AppFirstCtrl", ['$scope', 'AppFirstService', function ($scope) {

}]);
});

but got the error: 但是得到了错误:

Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- AppFirstService

What is wrong with this? 这有什么问题?

You can't use $scope as service dependency: 您不能将$ scope用作服务依赖项:

angular.module("App.services").service("AppFirstService", function ($scope) {

$scope for controllers only. $ scope仅适用于控制器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM