【发布时间】:2019-03-28 12:26:59
【问题描述】:
我正在创建一个网络应用程序,我想在其中验证我的一些输入字段
所以我使用$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;
}
});
}
});
我想执行这个指令并根据结果返回真或假(我知道这是不正确的,但我在指令和 $emit $on 方面非常新)
我在我的控制器中调用它
$scope.$emit('validateInputFields', $scope.mddoh);
但这是打印一个对象
{name: "validateInputFields", targetScope: b, stopPropagation: ƒ, preventDefault: ƒ, defaultPrevented: false, …}
在我的场景中使用 $emit 和 $on 的最佳方式是什么
【问题讨论】:
标签: angularjs angularjs-directive broadcast angularjs-controller emit