Javascript 循环上需要调用函数
我使用ngRequired在一个简单的“是”或“否”问题上动态添加所需的值。我调用一个函数来返回一个布尔值,但由于某种原因,该函数在循环中被调用。我删除了正在执行的代码,并将其替换为一个Javascript 循环上需要调用函数,javascript,angularjs,scope,angularjs-scope,Javascript,Angularjs,Scope,Angularjs Scope,我使用ngRequired在一个简单的“是”或“否”问题上动态添加所需的值。我调用一个函数来返回一个布尔值,但由于某种原因,该函数在循环中被调用。我删除了正在执行的代码,并将其替换为一个控制台.log,我认为这可能是由于每次调用时模型都发生了更改,但循环仍然存在 指令 angular.module('ppApp').directive('questionContent', questionContent); function questionContent() { return {
控制台.log
,我认为这可能是由于每次调用时模型都发生了更改,但循环仍然存在
指令
angular.module('ppApp').directive('questionContent', questionContent);
function questionContent() {
return {
restrict: 'EA',
require: '^^questionPanel',
scope: true,
template: '<div data-ng-include="questionTemplate"></div> ',
link: function(scope, elem, attr, ctrl) {
scope.someSelected = function (object) {
if(object === undefined) { return }
return Object.keys(object).some(function (key) {
return object[key];
});
}
}
}
}
angular.module('ppApp')。指令('questionContent',questionContent);
函数内容(){
返回{
限制:“EA”,
要求:“^questionPanel”,
范围:正确,
模板:“”,
链接:函数(作用域、元素、属性、ctrl){
scope.someSelected=函数(对象){
if(object==未定义){return}
返回对象。键(对象)。一些(函数(键){
返回对象[键];
});
}
}
}
}
查看
<div class="row">
<div class="col-xl-12">
<div class="form-check form-check-inline">
<input type="checkbox" name="checkYes"
data-ng-model="validModel[question.title].yes"
class="form-check-input"
data-ng-required="!someSelected(validModel[question.title])"
data-ng-change=
"question.checkError(validModel[question.title].no);
isOptionValid(validModel[question.title].yes, question);"
data-ng-click="validModel[question.title].no = false"
required>
<label for="checkYes" class="form-check-label">Yes</label>
</div>
<div class="form-check form-check-inline">
<input type="checkbox" name="checkNo"
data-ng-model="validModel[question.title].no"
class="form-check-input"
data-ng-required="!someSelected(validModel[question.title])"
data-ng-change="
question.checkError(validModel[question.title].no);"
data-ng-click="validModel[question.title].yes = false"
required>
<label for="checkNo" class="form-check-label">No</label>
</div>
</div>
</div>
对
不
问题
为什么
someSelected
函数被ngRequired
在循环中调用?你说的“在循环中”是什么意思?该模板将导致对的一个实例调用函数两次,如果一个或多个实例上有多个实例,则无论有多少问题,该函数都将被调用2*。由于某种原因,该函数在无限循环中被调用