Javascript Angularjs工厂重复请求方法

Javascript Angularjs工厂重复请求方法,javascript,angularjs,factory,Javascript,Angularjs,Factory,我用angularjs写了这个“工厂” var SimpleHomeCosts=angular .module('SimpleHomeCosts', [ 'ngRoute' ]) .config(function ($routeProvider) { $routeProvider .when('/', { templateUrl: 'views/buys.html', controller: 'BuysCtrl' })

我用angularjs写了这个“工厂”

var SimpleHomeCosts=angular
.module('SimpleHomeCosts', [
  'ngRoute'
])
.config(function ($routeProvider) {
  $routeProvider
      .when('/', {
        templateUrl: 'views/buys.html',
        controller: 'BuysCtrl'
      })
      .when('/utenti', {
        templateUrl: 'views/users.html',
        controller: 'UsersCtrl'
      })
      .when('/negozi', {
        templateUrl: 'views/shops.html',
        controller: 'ShopsCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
})
.factory("Shop", function () {
  var shop={};
  return shop;
});
在我的控制器中之后,我使用我的“车间”类工厂

    SimpleHomeCosts.controller("ShopsCtrl", function ($scope,Shop) {
  //================Shops Controller================
  console.log(Shop,"shop");
    });
这是html(Controller)shops.html

<div ng-controller="ShopsCtrl"></div>

这是index.html

<!doctype html>
<html class="no-js">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">
    <script src="//angular.localhost:9000/livereload.js"></script>
<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
</head>
<body ng-app="SimpleHomeCosts">
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade
your browser</a> to improve your experience.</p>
<![endif]-->
<div class="container" style="border: 0px solid blue">
    <div class="row">
        <div class="header" style="border: 0px solid green">
        <ul class="nav nav-pills pull-right">
                <li class="active"><a ng-href="#">Home</a></li>
                <li><a ng-href="#/utenti">Utenti</a></li>
                <li><a ng-href="#/spese">Spese</a></li>
                <li><a ng-href="#/negozi">Negozi</a></li>
            </ul>
        </div>
</div>
<!-- container view -->
<div class="row" style="border: 0px solid red">
    <div ng-view="" class="col-lg-12 col-md-12 col-xs-12"></div>
</div>

<div class="footer">
    <!-- <p><span class="glyphicon glyphicon-heart"></span> from the Yeoman team</p> -->
</div>
</div>
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/angular/angular.js"></script>
<script src="/bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="/bower_components/angular-route/angular-route.js"></script>
<script src="scripts/app.js"></script>
<script src="scripts/controllers/ShopsCtrl.js"></script>
</body>
</html>

如果我读入console browser,我会看到:

对象{}shopstrl.js(riga 29)
对象{}shopstrl.js(riga 29)


为什么我只问一次“Shop”重复我的呼叫?

我必须删除“ng controller=“ShopsCtrl”“从文件shops.html

中,控制器似乎执行了2次。看看是不是你的案子。如果没有,提供模板会很有帮助:)对不起,Sugarl3ss是正确的!,我的控制器被调用到路由器和hrml文件中。我必须从mu shops.html中删除ng controller=“ShopsCtrl:)
<div ng-controller="ShopsCtrl"></div>