Ich habe eine Variable selectedSubTopicId
und ich habe ein Array von subTopic-Objekten: objectiveDetail.subTopics[]
. Jedes subTopic
Objekt hat ein FeldsubTopicId
Kann _lodash ein Array testen, um zu prüfen, ob ein Array-Element ein Feld mit einem bestimmten Wert hat?
Ich mag würde dies verwenden, um zu aktivieren oder deaktivieren und Thema-Taste hinzufügen. Kann ich lodash in ng-disabled verwenden, um dieses Array zu testen und true zu melden, wenn ein subTopic
Objektelement des Arrays eine subTopicId
hat, die gleich selectedSubTopicId
ist.
Hier ist ein Beispiel für die Daten in objectiveDetail. In diesem Fall gibt es nur ein Element im subTopics-Array.
{"objectiveDetailId":285,
"objectiveId":29,
"number":1,
"text":"x",
"subTopics":[{"subTopicId":1,
"number":1}]
}
Hier ist der Code in meinen Angular-Controller von thefourtheye vorgeschlagen:
$scope.checkDuplicateSubTopicId = function (objectiveDetail, sSubTopic) {
if (_.some(objectiveDetail.subTopics, function(currentTopic) {
return _.contains(currentTopic, selectedSubTopicId);
})) {
return true;
} else {
return false;
}
}
Meine Schaltfläche mit der Klick-Funktion wie diese nicht gezeigt aussieht:
<button data-ng-disabled="checkDuplicateSubTopicId(objectiveDetail, subTopicId)">
Add Topic
</button>
Das Problem ist, dass es funktioniert nicht ganz und die Schaltfläche wird nicht deaktiviert angezeigt.
Ja, Sie können (Hinweis: http://lodash.com/docs#some). –