$rootScope.$broadcast不会被触发
问题的原因是在TestCtrl.js中,$scope.loadData函数在angular.element(document).ready中被调用,但是在调用之前就已经定义了,所以在调用时会报错。
解决方法是将$scope.loadData函数的定义放在调用之前。
文章内容如下:
Would you like to try?
Test.html :
<div>Test</div> <dta-feed my-list="myList"></dta-feed>
TestCtrl.js
angular.element(document).ready(function () { $scope.loadData(); }); $scope.loadData = function () { $rootScope.$broadcast("testEvent"); }
dtafeed-directive.js
var ev = $rootScope.$on("testEvent", function () { console.log('Testing broadcast event'); }); $scope.$on('$destroy', function () { ev(); });
问题的原因是在TestCtrl.js中,$scope.loadData函数在angular.element(document).ready中被调用,但是在调用之前就已经定义了,所以在调用时会报错。
解决方法是将$scope.loadData函数的定义放在调用之前。