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