我在启动模态窗口时打开了角度,它在模态窗口$ scope上提供了两个函数$ dismis和$ close。我需要在调用其中任何一个之前触发事件。目前控制器中的代码如下所示
$scope.$emit("ModalClosing");
$scope.$close(payload);
我想要的是消除手动调用$ emit的需要,我希望能够做到
$ scope。$ close(payload),以便$ close函数的实现执行上面的步骤。如何实现这一目标?它可能需要类似于模拟框架使用的东西。我基本上需要拦截对函数的调用并调用我的代码,然后调用原始函数。
更新:在我发布问题后,我想为什么不用我的实现替换它。我简直不敢相信它。这是正确的吗?还有更好的方法吗?
var closeModal = $scope.$close;
$scope.$close = function (payload) {
$scope.$emit("ModalClosing");
closeModal(payload);
};
答案 0 :(得分:0)
在我发布问题后,我想为什么不用我的实现替换它。我简直不敢相信它。这是正确的吗?还有更好的方法吗?
var closeModal = $scope.$close;
$scope.$close = function (payload) {
$scope.$emit("ModalClosing");
closeModal(payload);
};