AngularJS:如何从 AngularJS 服务中清除 HTML 表单

AngularJS: How to clear HTML form from AngularJS service

我想在用户输入完成一些操作后清除表单。我知道如何从控制器执行此操作。例如,我可以 运行 以下函数:

$scope.clearForm = function () {
     $scope.addOrEditForm.$setPristine();
     $scope.firstName = "";
     $scope.secondName = "";
     $scope.position = "";
};

这行得通。但是我需要从位于 AngularJS 服务中的另一个函数调用这个函数。我怎么能从那里打电话?或者我如何在服务中定义 clearForm 函数并访问所有这些表单变量,如 $scope.firstName$scope.secondName$scope.position?感谢您的帮助!

在控制器中使用事件

// listen for the event in the relevant $scope
$scope.$on('myCustomEvent', function (event) {
    $scope.clearForm();
});

从服务调用事件

$rootScope.$broadcast('myCustomEvent');