【问题标题】:Angularjs factory duplicated request methodAngularjs工厂重复请求方法
【发布时间】:2015-08-26 09:23:07
【问题描述】:

我已经用 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;
});

在我的控制器中,我使用我的“Shop”类工厂

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

这是html(控制器)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>

如果我读入控制台浏览器,我会看到:

对象 { } shop ShopsCtrl.js (riga 29)
对象 { } shop ShopsCtrl.js (riga 29)

如果我只问一次“​​Shop”角重复我的电话,为什么?

【问题讨论】:

  • 控制器似乎被执行了 2 次。看看stackoverflow.com/questions/15535336/… 看看是不是你的情况。如果没有,提供模板会有所帮助:)
  • 对不起,Sugarl3ss 是正确的!,我的控制器被调用到路由器和 hrml 文件中。我必须从 mu shop.html 中删除 ng-controller="ShopsCtrl" 谢谢 Sugarls3ss :)

标签: javascript angularjs factory


【解决方案1】:

我必须从文件 shop.html 中删除 "ng-controller="ShopsCtrl"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多