Considérant en fait et en droit :
1.
Dans le cadre d'une enquête dirigée contre A._ notamment pour injures, violence ou menace contre les fonctionnaires, empêchement d'accomplir un acte officiel et diverses violations de la LCR, la prévenue a requis du Ministère public de l'arrondissement de La Côte, le 21 février 2019, la récusation de tout agent de police ayant participé à son interpellation intervenue le 1er février 2019, précisant qu'elle ne s'opposait pas à la conservation du procès-verbal d'audition du 19 février 2019, mais se réservait de demander l'annulation de toute autre mesure effectuée par les agents concernés. Cette requête a été réitérée le 5 mars 2019. Les appointés B._ et C._, du Groupe-accidents de la police de Lausanne, ont été invités à se déterminer sur cette demande et s'y sont opposés, contestant avoir fait preuve d'acharnement ou de prévention à l'égard de A._. Cette dernière a déposé de nouvelles observations.
Par décision du 17 mai 2019, le Ministère public a rejeté la demande de récusation, considérant qu'il n'existait au dossier aucun indice de partialité.
Par acte du 19 juin 2019, A._ forme un recours en matière de droit public par lequel elle demande la réforme de la décision du Ministère public en ce sens que tous les agents ayant participé à son interpellation sont récusés, en particulier les policiers B._, C._, D._, E._ et F._; subsidiairement, elle conclut au renvoi de la cause à l'instance précédente pour nouvelle décision dans le sens des considérants. Elle demande l'assistance judiciaire.
Le Ministère public se réfère à sa décision. Le dossier a été produit le 31 juillet 2019.
2.
Conformément aux art. 78 et 92 al. 1 LTF, une décision incidente relative à la récusation dans le cadre d'une procédure pénale peut faire immédiatement l'objet d'un recours en matière pénale. L'auteur de la demande de récusation a qualité pour agir (art. 81 al. 1 LTF). Le recours en matière pénale est directement ouvert contre les décisions du ministère public en matière de récusation des membres de la police (cf. ATF 138 IV 222). Le recours a été déposé en temps utile et les conclusions présentées sont recevables au regard de l'art. 107 LTF.
2.1. Selon l'art. 58 al. 2 CPP, la personne concernée par la demande de récusation doit prendre position. Cette disposition est impérative; Elle tend à permettre l'établissement des faits et à garantir le respect du droit d'être entendu, tant de la personne concernée que de l'auteur de la demande de récusation auquel un droit de réplique doit le cas échéant être accordé. Cette mesure d'instruction a toute son importance puisque l'administration d'autres preuves est en principe limitée, voire exclue (cf. art. 59 al. 1 CPP) et qu'aucune autorité cantonale de recours n'est susceptible de revoir les faits (ATF 138 IV 222 consid. 2.1 p. 224).
2.2. En l'occurrence, la demande de récusation visait l'ensemble des agents ayant participé à l'interpellation de la recourante le 1er février 2019. Selon le rapport du 18 avril 2019, outre les appointés B._ et C._ (qui sont les auteurs des différents rapports figurant au dossier), sont également intervenus l'appointé E._ et l'agent D._, de même que le Premier-lieutenant F._ sur ordre duquel la recourante a été placée dans un box de maintien. D'autres agents sont également intervenus, mais la recourante limite ses conclusions aux cinq agents précités. Cela étant, trois d'entre eux n'ont pas été entendus alors qu'ils étaient visés par la demande de récusation. La décision attaquée est également muette à leur propos. Ce vice formel ne peut être réparé céans et entraîne à lui seul l'annulation de la décision attaquée et le renvoi de la cause au Ministère public pour nouvelle décision (ATF 138 IV 222 consid. 2.2 p. 224-225).
2.3. Sur le vu de ce qui précède, le recours est admis. La décision attaquée est annulée et la cause est renvoyée au Ministère public pour nouvelle décision après avoir obtenu les prises de position des trois agents concernés. La recourante, qui obtient gain de cause avec l'aide d'un mandataire professionnel, a droit à des dépens, mis à la charge du canton de Vaud (art. 68 al. 2 LTF), ce qui rend sans objet sa demande d'assistance judiciaire. Il n'est pas perçu de frais judiciaires (art. 66 al. 4 LTF). Le présent arrêt est rendu selon la procédure simplifiée prévue à l'art. 109 al. 2 let. b LTF.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis; la décision attaquée est annulée et la cause est renvoyée au Ministère public de l'arrondissement de La Côte pour nouvelle décision au sens des considérants.
2.
Une indemnité de dépens de 2'000 fr. est allouée à la recourante, à la charge du canton de Vaud (Ministère public de l'arrondissement de La Côte). La demande d'assistance judiciaire est sans objet.
3.
Il n'est pas perçu de frais judiciaires.
4.
Le présent arrêt est communiqué au mandataire de la recourante et au Ministère public de l'arrondissement de la Côte.
Lausanne, le 7 août 2019
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Chaix
Le Greffier : Kurz