¿Puede _lodash probar una matriz para verificar si un elemento de matriz tiene un campo con un valor determinado?
Tengo una variableselectedSubTopicId
y tengo una matriz de objetos subtópicos:objectiveDetail.subTopics[]
. CadasubTopic
objeto tiene uncampo subTopicId
Me gustaría usar esto para habilitar o deshabilitar y el botón Agregar tema. ¿Puedo usar lodash en el ng-disabled para probar esta matriz e informar si es cierto?subTopic
elemento objeto de la matriz tiene unasubTopicId
que es igual a laselectedSubTopicId
.
Aquí hay una muestra de los datos que están en objectDetail. En este caso, solo hay un elemento en la matriz de subtópicos.
{"objectiveDetailId":285,
"objectiveId":29,
"number":1,
"text":"x",
"subTopics":[{"subTopicId":1,
"number":1}]
}
Aquí está el código en mi Controlador Angular sugerido por los cuatro ojos:
$scope.checkDuplicateSubTopicId = function (objectiveDetail, sSubTopic) {
if (_.some(objectiveDetail.subTopics, function(currentTopic) {
return _.contains(currentTopic, selectedSubTopicId);
})) {
return true;
} else {
return false;
}
}
Mi botón con la función de clic que no se muestra se ve así:
<button data-ng-disabled="checkDuplicateSubTopicId(objectiveDetail, subTopicId)">
Add Topic
</button>
El problema es que no funciona del todo y el botón no se muestra deshabilitado.