0

我是 AngularJS 的新手(阅读文档一周左右),所以请耐心等待 :) 我正在尝试通过 DI/服务基础设施向 AngularJS 控制器公开一些第 3 方库(JayData)功能。

创建服务是一件简单的事情,只要您可以为此创建自己的模块,并将 ng-app 设置为该模块。

    var mod = angular.module('myModule', [], function ($provide) {
        $provide.factory('$data', ['$scope', function (sc) {
            return $data;
        }]);
    });

   <html ng-app='myModule'></html>

在我的情况下,开发人员将创建自己的应用程序/启动模块,或者将使用“默认 ng 应用程序”而不指定一种模块名称,例如<html ng-app="".

如何注册一个可全局访问的服务,如 $scope 或 $http 等内置服务?

4

1 回答 1

2

您可以将组件添加到ng作为默认模块的模块中,使用angular.module("ng").service(...). 正如评论中提到的,这是一个坏主意,有几个原因,最突出的是 Angular 团队可能会在以后提供同名的服务。

作为参考,首选方法是定义您自己的模块,例如myAwesomeDataModule并将其作为依赖项添加到其他模块中:angular.module("myModule", ["myAwesomeDataModule"]).

于 2013-08-12T11:13:12.923 回答