AngularJS创建多个控制器实例

时间:2017-01-26 01:25:21

标签: javascript angularjs ngroute

我在Angular中有点新,我试图使用带有父控制器的路由模块创建一个简单的应用程序,其他一切都是该控制器的子项。问题是每次父项控制器调用一个视图,创建了一个子控制器的新实例,这意味着我的函数被多次调用,我很确定我做错了什么,不确定它是什么......

这是我的app.js

的一部分
var module = angular.module('stock', ['ngRoute', 'ngAnimate']);

module.config(function($routeProvider) {

$routeProvider
    .when('/Dashboard/', {
        templateUrl: '/Dashboard',
        controller: 'DashboardCtrl'
    })
    .when('/Proveedores/', {
        templateUrl: '/Proveedores',
        controller: 'ProveedoresCtrl'
    })
    .when('/DatosArticulo/', {
        templateUrl: '/DatosArticulo',
        controller: 'DatosArticuloCtrl'
    })

.when('/IngresarArticulo/', {
    templateUrl: '/IngresarArticulo',
    controller: 'IngresarArticuloCtrl'
})

.otherwise({
    redirectTo: '/Dashboard'
});
});

index.html的一部分

<body ng-app="stock" ng-controller="MainCtrl" ng-init="init()" ng-cloak>
    <div class="dropdown-content">
                <a href="#!/IngresarArticulo">
                    <i style="font-size:22px;margin-right:8px" class="fa fa-plus-circle" aria-hidden="true"></i> Ingresar Articulo
                </a>
                <a href="#!/Proveedores">
                    <i style="font-size:22px;margin-right:8px" class="fa fa-product-hunt" aria-hidden="true"></i> Proveedores
                </a>
                <a href="#!/DatosArticulo">
                    <i style="font-size:22px;margin-right:8px" class="fa fa-info-circle" aria-hidden="true"></i> Datos Articulo
                </a>
            </div>

  <div style="z-index:50" id="mainContent" class="view-animate-container">
    <div ng-view class="view-animate"></div>
  </div>

  <script type='text/ng-template' id='/Dashboard'>
    <!-- Magic from this view-->
  </script>
  <script type='text/ng-template' id='/Proveedores'>
     <!-- Magic from this view-->
  </script>

修改

问题(更清楚)是我将主控制器中的事件广播到其中一个子控制器,一旦事件被监听,控制器所执行的操作就是将数据插入到我的数据库中,该控制器有多个实例,数据被多次插入,我该如何避免?

0 个答案:

没有答案