Tengo un bucle simple con ng-repeat
este:
<li ng-repeat='task in tasks'>
<p> {{task.name}}
<button ng-click="removeTask({{task.id}})">remove</button>
</li>
Hay una función en el controlador $scope.removeTask(taskID)
.
Por lo que sé, Angular primero renderizará la vista y la reemplazará interpolada {{task.id}}
con un número, y luego, al hacer clic, evaluará la ng-click
cadena.
En este caso ng-click
obtiene totalmente lo que se espera, es decir: ng-click="removeTask(5)".
Sin embargo ... no está haciendo nada.
Por supuesto, puedo escribir un código para obtener task.id
de la $tasks
matriz o incluso el DOM, pero esto no parece ser la forma angular.
Entonces, ¿cómo se puede agregar contenido dinámico a la ng-click
directiva dentro de un ng-repeat
bucle?
angularjs
ng-repeat
angularjs-ng-click
Paweł Szymański
fuente
fuente
ng-click
expresión no utiliza corchetes, es decirng-click="taskData.currentTaskId = task.id"
Una cosa que realmente me colgó fue cuando inspeccioné este html en el navegador, en lugar de verlo expandido a algo como:
Yo vi:
Sin embargo, este último funciona!
Esto se debe a que estás en el "Mundo Angular", cuando dentro de ng-click = "" Angular, todo listo sabe sobre task.id como lo estás dentro de su modelo. No es necesario utilizar el enlace de datos, como en {{}}.
Además, si desea pasar el objeto de tarea en sí, puede gustarle:
fuente
También vale la pena señalar, para las personas que encuentran esto en sus búsquedas, es esto ...
Tenga en cuenta el valor de
ng-click
. El parámetro pasado agoTo()
es una cadena de una propiedad del objeto de enlace (elbutton
), pero no está entre comillas. Parece que AngularJS maneja eso por nosotros. Me colgué de eso por unos minutos.fuente
esto funciona. Gracias. Estoy inyectando html personalizado y lo compilo usando angular en el controlador.
fuente
Las respuestas anteriores son excelentes. Puede consultar el siguiente ejemplo de código completo para saber exactamente cómo usar
fuente
HTML:
Script Java:
fuente
Aquí está la repetición de ng con la función ng click y para agregar con el control deslizante
fuente