我有一个变量selectedSubTopicId
,我有一个 subTopic 对象数组:objectiveDetail.subTopics[]
. 每个subTopic
对象都有一个字段 subTopicId
我想用它来启用或禁用和添加主题按钮。我可以在 ng-disabled 中使用 lodash 来测试这个数组,如果数组的任何subTopic
对象元素的 asubTopicId
等于selectedSubTopicId
.
这是objectiveDetail中的数据示例。在这种情况下,subTopics 数组中只有一个元素。
{"objectiveDetailId":285,
"objectiveId":29,
"number":1,
"text":"x",
"subTopics":[{"subTopicId":1,
"number":1}]
}
这是 thefourtheye 建议的我的 Angular 控制器中的代码:
$scope.checkDuplicateSubTopicId = function (objectiveDetail, sSubTopic) {
if (_.some(objectiveDetail.subTopics, function(currentTopic) {
return _.contains(currentTopic, selectedSubTopicId);
})) {
return true;
} else {
return false;
}
}
我的未显示单击功能的按钮如下所示:
<button data-ng-disabled="checkDuplicateSubTopicId(objectiveDetail, subTopicId)">
Add Topic
</button>
问题是它不能很好地工作,并且按钮没有显示为禁用。