У меня есть переменная selectedSubTopicId
, и у меня есть массив объектов subTopic: objectiveDetail.subTopics[]
. Каждый subTopic
объект имеет полеsubTopicId
Может ли _lodash проверить массив, чтобы проверить, имеет ли элемент массива поле с определенным значением?
Я хотел бы использовать эту функцию, чтобы включить или отключить и кнопку Добавить тему. Могу ли я использовать lodash в ng-disabled для проверки этого массива и сообщить об истинности, если какой-либо объект объекта subTopic
имеет массив subTopicId
, который равен selectedSubTopicId
.
Вот пример данных, которые находятся в объектеDetail. В этом случае в массиве subTopics есть только один элемент.
{"objectiveDetailId":285,
"objectiveId":29,
"number":1,
"text":"x",
"subTopics":[{"subTopicId":1,
"number":1}]
}
Вот код в моем угловом контроллере предложил thefourtheye:
$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>
Проблема заключается в том, что это не совсем работает, и кнопка не отображается отключена.
Да, вы можете (подсказка: http://lodash.com/docs#some). –