一个类似的问题被问到
here,但它没有帮助我.
我正在学习angularjs,我注意到控制器执行了两次.
我在学习服务的过程中构建了这个示例,起初我认为是将服务注入到控制器中,但我评论了与服务相关的所有代码,并且控制器仍然执行了两次.
我的例子有效,但我担心我做错了什么.
<div ng-app="MyApp"> <div ng-controller="MyCtrl"> {{data1}} </div> </div> var app = angular.module('MyApp',[]) app.service('Service1',function(){ return { ajxResponse1: 'dataFromService1' }; }); function MyCtrl($scope,Service1){ alert('Entering MyCtrl'); $scope.data1 = Service1.ajxResponse1; alert('Exiting MyCtrl'); }
解决方法
一个可能的来源是:如果您正在使用路由并在路由中指定控制器 – 您不能在路由使用的模板中指定它.当忽略这个问题时,我们遇到了这个问题.