Angular Service方法被调用两次?

时间:2015-04-20 10:39:02

标签: angularjs

我有一项简单的服务:

angular.module('sf').factory 'sfStatic2',  ->
  {
    doSomething: ->
      console.log('called-x')
      43
  }

angular.module('sf').controller 'UserRegisterCtrl', ($scope,sfStatic2) ->
  $scope.timezoneX = sfStatic2.doSomething()

在控制台中,我看到两次'叫做-x',你知道为什么会这样吗?我正在使用棱角1.3.15

1 个答案:

答案 0 :(得分:5)

由于控制器被调用两次,可能会发生这种情况。 确保您只编写一次控制器。 写入ng-controller或配置路由。

route config(通常是app.js):

 app.config(['$routeProvider', function($routeProvider){
      $routeProvider.when('/',
               { 
                   templateUrl: 'pages/home.html'
                   //Remove controller from here
               });
}]);
home.html

 <!-- Add the ng-controller in your view -->
    <div ng-controller="MyItemsController">
        <!-- Your stuff -->
    </div>