Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Proper way to include a module in AngularJS

I'm learning Angular and I'm trying to include Restangular this way:

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

Then I'm using Restangular like this:

var data = Restangular.all('someurl');

Here I get an error: Restangular is undefined. According to the documentation, this should have been simple:

// 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) {
  // ...
});

However I am unable to get it to work. What gives?

like image 614
hannu40k Avatar asked Jan 12 '23 06:01

hannu40k


1 Answers

You're using the bracket notation for your controller, but you forgot to add Restangular to the list of dependencies:

['$scope', 'Restangular', function ($scope, Restangular) {...}]

This article has more information on Angular and minification. Search for "A note on minification”.

like image 131
Michael Benford Avatar answered Jan 21 '23 09:01

Michael Benford