I have this code, and I am sending an alert, but what is inside $ scope does not work. Why will it be?
angular.module('myApp', []).controller('Ctrl', WineCtrl, ['$scope', function($scope){
alert()
}]);
function WineCtrl() {
var self = this;
// Variables - Public
self.filter = {};
self.wines = [
{name: 'Apartamentos 1', category: 'Apartamento'},
{name: 'Apartamentos 2', category: 'Casa'},
{name: 'Apartamentos 3', category: 'Casa Apartamento'},
{name: 'Apartamentos 4', category: 'Apartamento'},
{name: 'Apartamentos 5', category: 'Hotel'},
{name: 'Apartamentos 6', category: 'Apartamento'},
{name: 'Apartamentos 7', category: 'Casa Apartamento'},
{name: 'Apartamentos 8', category: 'Hotel'}
];
// Functions - Public
self.filterByCategory = filterByCategory;
self.getCategories = getCategories;
// Functions - Definitions
function filterByCategory(wine) {
return self.filter[wine.category] || noFilter(self.filter);
}
function getCategories() {
return (self.wines || []).
map(function (wine) { return wine.category; }).
filter(function (cat, idx, arr) { return arr.indexOf(cat) === idx; });
}
function noFilter(filterObj) {
return Object.
keys(filterObj).
every(function (key) { return !filterObj[key]; });
}
}