本文介绍了Angular.js:未定义的ReferenceError $ rootScope未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试运行并收到以下消息:
I am trying to run and got this message:
未捕获的ReferenceError:在app.js第12行中未定义$ rootScope
Uncaught ReferenceError: $rootScope is not defined at app.js line 12
这是我的js/app.js
here is my js/app.js
angular.module('addEvent', ['ngRoute']) .config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvider.when('/add-event', { templateUrl: 'views/add-event.html', controller: 'formCtrl', controllerAs: 'eventCtl' }) .otherwise({ redirectTo: '/' }); $locationProvider.html5Mode(true); }]) .run(['$rootScope', function() { $rootScope.event = []; }]);此js/controller.js
this js/controller.js
angular.module('addEvent') .controller('formCtrl', ['eventFactory', function(eventFactory) { //$scope.event=[]; this.event = eventFactory.getAllEvents(); this.submitForm = function(form) { eventFactory.createEvent(angular.copy(form), this.event); // $scope.event.push(angular.copy(form)); console.log($scope.event); } }])services/eventFactory.js
services/eventFactory.js
angular.module('addEvent') .factory('eventFactory', function() { var eventFactory = {}; var events = []; eventFactory.getAllEvents = function() { return events; } eventFactory.createEvent = function(event, eventList) { events.push(event); eventList = events; return eventList; } return eventFactory; })在index.html上,我以这种方式添加了脚本
And at index.html I added script this way
<script src="./js/jquery-1.12.4.js"></script> <script src="./js/bootstrap.js"></script> <script src="./js/angular.min.js"></script> <script src="./js/angular-route.js"></script> <script src="./js/app.js"></script> <script src="./js/controller.js"></script> <script src="./services/eventFactory.js"></script>推荐答案
您需要在run()方法中注入$rootScope
.run(['$rootScope',function($rootScope){ $rootScope.event=[]; }]);代替
.run(['$rootScope',function(){ $rootScope.event=[]; }]);更多推荐
Angular.js:未定义的ReferenceError $ rootScope未定义
发布评论