Trying to follow some examples, but I get app is not defined
app.js
(function () {
"use strict";
var app = angular.module("deviceManagement",['angularUtils.directives.dirPagination']);
}());
So I have HOPING to be able to use or attach to "app"
I have a controller js file
(function () {
"use strict";
angular
.module("deviceManagement")
.controller("DeviceListCtrl",
ProductListCtrl);
function ProductListCtrl($http, $scope) {
var vm = this;
vm.devices = [];
deviceList();
function deviceList() {
//..........
}
}
} ());
THEN RIGHT UNDER the ABOVE CODE I DO THIS
app.filter('deviceStatus', function () {
var deviceStatusLookup = {
1: "New Device",
2: "Activated",
3: "Unactivated"
};
return function (statusId) {
var output = deviceStatusLookup[statusId];
return output;
}
});
Error on page console
deviceListCtrl.js:73 Uncaught ReferenceError: app is not defined
Check that you have included the app.js file.
Also, I would change the below:
to this:
It is a good idea to not use var app and to just refer to the module, e.g. angular.module("deviceManagement"). See this answer.
Well in you case the issue is that in here:
You have
app
in a lambda function, and it exists just in there.To make it works you should have:
So here we are injecting the
window
element in the lambda so you can defineapp
globally (window.app = app || {}
).Probably the
angular.module("deviceManagement")
syntax is the best way to go, in a way to have your code more modular.