angularJS 在 $emit 和 $on 的帮助下验证输入字段
angularJS validate input field with the help of $emit and $on
我正在创建一个 Web 应用程序,我想在其中验证我的一些输入字段
所以我使用 $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;
}
});
}
});
我想执行这个指令,return 根据结果判断真假(我知道这是不正确的,但我对指令和 $emit $on 很陌生)
我在我的控制器中调用它
$scope.$emit('validateInputFields', $scope.mddoh);
但这是在打印对象
{name: "validateInputFields", targetScope: b, stopPropagation: ƒ, preventDefault: ƒ, defaultPrevented: false, …}
在我的场景中使用 $emit 和 $on 的最佳方式是什么
将控制器中的 $scope.$emit
更改为
$rootScope.$broadcast('validateInputFields', $scope.mddoh);
并在您的指令中,将 scope.$on
更改为
$rootScope.$on
并且不要忘记注入 $rootScope
。
我正在创建一个 Web 应用程序,我想在其中验证我的一些输入字段
所以我使用 $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;
}
});
}
});
我想执行这个指令,return 根据结果判断真假(我知道这是不正确的,但我对指令和 $emit $on 很陌生)
我在我的控制器中调用它
$scope.$emit('validateInputFields', $scope.mddoh);
但这是在打印对象
{name: "validateInputFields", targetScope: b, stopPropagation: ƒ, preventDefault: ƒ, defaultPrevented: false, …}
在我的场景中使用 $emit 和 $on 的最佳方式是什么
将控制器中的 $scope.$emit
更改为
$rootScope.$broadcast('validateInputFields', $scope.mddoh);
并在您的指令中,将 scope.$on
更改为
$rootScope.$on
并且不要忘记注入 $rootScope
。