在AngularJS中包含模块的正确方法

han*_*40k 4 dependency-injection angularjs restangular

我正在学习Angular,我试图以这种方式包含Restangular:

var app = angular.module('myapp',['restangular']);
app.controller('UsersController', ['$scope', function ($scope, Restangular) {
   ...
Run Code Online (Sandbox Code Playgroud)

然后我像这样使用Restangular:

var data = Restangular.all('someurl');
Run Code Online (Sandbox Code Playgroud)

这里我得到一个错误:Restangular未定义.根据文档,这应该很简单:

// Add Restangular as a dependency to your app
angular.module('your-app', ['restangular']);

// Inject Restangular into your controller
angular.module('your-app').controller('MainCtrl', function($scope, Restangular) {
  // ...
});
Run Code Online (Sandbox Code Playgroud)

但是我无法让它工作.是什么赋予了?

Mic*_*ord 12

您正在为控制器使用括号表示法,但是您忘记将Restangular添加到依赖项列表中:

['$scope', 'Restangular', function ($scope, Restangular) {...}]
Run Code Online (Sandbox Code Playgroud)

本文提供了有关Angular和minification的更多信息.搜索"关于缩小的注释".