Angularjs фабричный дублированный метод запроса

0

Я пишу эту "фабрику" в 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>

Если я читаю в консольном браузере, я вижу:

Объект {} магазин ShopsCtrl.js(riga 29)
Объект {} магазин ShopsCtrl.js(riga 29)

Почему, если я спрашиваю только один раз, "Зеркальный" магазин дублирует мой звонок?

  • 1
    Кажется, что контроллер выполняется 2 раза. Посмотрите stackoverflow.com/questions/15535336/… чтобы увидеть, если это ваш случай. Если нет, то предоставление шаблона было бы полезно :)
  • 0
    я не верю
Показать ещё 1 комментарий
Теги:
factory

1 ответ

0

Я должен удалить "ng-controller =" ShopsCtrl "из файла shops.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню