我对角度很新,并且正在尝试使用产品过滤器进行锻炼。我希望产品控制器听一些事件。但是,一旦加载了网站,我就会收到此错误:
TypeError: undefined is not a function
<$>在$ scope。$ on的行上。我很确定$ on是问题所在。
这可能是一个非常愚蠢的问题,但我似乎无法找到任何暗示。
非常感谢
var testApp = angular.module('marketPlace', []);
testApp.controller('ProductsController', [ '$http', function($scope, $http){
var products = this;
products.errorNotice = "";
products.currentlyShowingDetails = false;
products.minActualPrice = 0;
products.maxActualPrice = 0;
products.regions = 0;
products.suppliers = 0;
products.commodities = 0;
products.properties = 0;
$scope.$on('filterChange', function(event, args) {
console.log(args);
});
答案 0 :(得分:1)
您没有正确注入$scope
。
testApp.controller('ProductsController', [ '$http', function($scope, $http){
是问题。您正在$http
注入$scope
。尝试将其更改为
testApp.controller('ProductsController', [ '$scope', '$http', function($scope, $http){
甚至更好
@ngInject
testApp.controller('ProductsController', function($scope, $http){