Efectivamente tienes un problema al procesar los resultados, aquí:
Código PHP:
while ($enviarDatos=mysqli_fetch_array($datos)){
$this->mostrarDatos=$enviarDatos;
}
Ahí lo que sucede es que en cada vuelta sobreescribes la variable $this->mostrarDatos con $enviarDatos, de ninguna forma estás acumulando todos los resultados, por eso es que únicamente obtienes un único array que sería un sólo resultado.
¿Se entiende?
Lo que debes hacer es ir acumulando los resultados en un array y devolver dicho array, finalmente debes obtener una lista con todos los resultados.
Código PHP:
$this->mostrarDatos = array();
while ($enviarDatos=mysqli_fetch_array($datos)){
$this->mostrarDatos []= $enviarDatos;
}
Observa que uso el operador []= para ir agregando $enviarDatos al array, creando la lista.