anguar.js - 通过$ on监听事件返回undefined

时间:2015-03-27 15:33:34

标签: angularjs

我对角度很新,并且正在尝试使用产品过滤器进行锻炼。我希望产品控制器听一些事件。但是,一旦加载了网站,我就会收到此错误:

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);
    });

1 个答案:

答案 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){

请参阅https://www.npmjs.com/package/gulp-ng-inject