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