【发布时间】:2017-12-04 17:58:59
【问题描述】:
我想将一个函数的结果从一个孩子发送到一个父控制器。
这是我的文件结构
-submission.controller.js
--calculate.controller.js
在 calculate.controller.js 我有一个看起来像这样的函数:
function validForm() {
var checkForm = false;
if(files === true) {
checkForm = true;
}
return checkForm;
}
我想将此函数的结果发送给父级 (submission.controller.js) 并将其用作函数中的参数。
showValidZip() {
if (validForm() === true) {
return false;
}
return true;
};
到目前为止,我已经尝试使用 $emit 和 $on 将 validForm 从计算发送到提交,但这样做的运气并不好。
例如:
$scope.$emit('validForm', function () {
var checkForm = false;
if(files === true) {
checkForm = true;
}
return checkForm;
});
和
$scope.showValidZip = function () {
if ($scope.$on('validForm') === true) {
return false;
}
return true;
};
但它并没有真正按预期工作。
【问题讨论】:
-
文件结构并不重要。控制器的使用方式是。请解释“它没有真正按预期工作”的确切含义并提供可以复制问题的stackoverflow.com/help/mcve。
-
你必须使用
$rootscope并且你有反转emit和on语法。
标签: javascript angularjs function emit