【发布时间】:2014-01-22 09:17:05
【问题描述】:
我有一个变量selectedSubTopicId,我有一个子主题对象数组:objectiveDetail.subTopics[]。每个subTopic object 都有一个字段 subTopicId
我想用它来启用或禁用和添加主题按钮。如果数组的任何subTopic 对象元素的subTopicId 等于selectedSubTopicId,我可以在ng-disabled 中使用lodash 来测试这个数组并报告true。
以下是 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>
问题是它不能很好地工作并且按钮没有显示为禁用。
【问题讨论】:
-
可以(提示:lodash.com/docs#some)。
标签: javascript lodash