angularJS проверяет поле ввода с помощью $ emit и $ on - PullRequest
0 голосов
/ 24 октября 2018

Я создаю веб-приложение, в котором я хочу проверить некоторые из моих полей ввода

, поэтому я использую $emit и $on, чтобы оно было коротким

Я создалдиректива, которая выглядит следующим образом

angular.module('myapp').directive('validateFields', function () {
    return function (scope, element, attrs) {
        scope.$on('validateInputFields', function (param) {
            if (param == undefined || param == null || param == '') {
                return true;
            } else {
                return false;
            }
        });
    }
});

Я хочу выполнить эту директиву и вернуть true или false в соответствии с результатом (я знаю, что это неверно, но я очень нов в директивах и $ emit $ on)

и я вызываю это в моем контроллере

$scope.$emit('validateInputFields', $scope.mddoh);

, но это печать объекта

{name: "validateInputFields", targetScope: b, stopPropagation: ƒ, preventDefault: ƒ, defaultPrevented: false, …}

, как лучше всего использовать $ emit и $ on в моем scenerio

1 Ответ

0 голосов
/ 24 октября 2018

Измените $scope.$emit в вашем контроллере на

$rootScope.$broadcast('validateInputFields', $scope.mddoh);

и в вашей директиве измените scope.$on на

$rootScope.$on

и не забудьте ввести $rootScope.

...