作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有三个 Controller :main、product、customer。 Controller A 是我的“主页”的一部分。 Controller B 和 C 取决于位置。
Controller 主要:
var MainController = function ($scope, $location, $rootScope, ToolbarService) {
$scope.addClicked = function () {
ToolbarService.onAddButtonClick();
};
};
app.controller({ MainController: MainController });
产品:
var ProductController = function ($scope) {
$scope.$on('handleAddButtonClick', function () {
alert('Add product');
});
};
app.controller({ ProductController: ProductController });
顾客:
var CustomerController = function ($scope) {
$scope.$on('handleAddButtonClick', function () {
alert('Add customer');
});
};
app.controller({ CustomerController: CustomerController});
工具栏服务:
app.service({
ToolbarService: function ($rootScope) {
return {
onAddButtonClick: function () {
$rootScope.$broadcast('handleAddButtonClick');
}
};
}
});
当我的位置是 #/products
并且调用 main 的 addClicked
时,我收到两次“添加产品”警报。有人知道这是为什么吗?
最佳答案
问题是我还在路由中声明了一个 Controller 。所以我在我的 html 页面上配置了一个 Controller ,在路由提供者中配置了一个。这导致一切都执行了两次..
关于javascript - Angular : Why is my event handled twice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587718/
我是一名优秀的程序员,十分优秀!