2009-10-19 6 views
5

Utilizando el marco AngularJS, ¿cómo tengo el botón "Enviar"? Actualizo la entidad actual y borro la identificación del ancla. Básicamente quiero agregar entradas rápidas, pero siempre convierte mi forma de agregar en una editar formulario

Aquí es mi div corriente que no está funcionando, es como si estuviera haciendo caso omiso de la $anchor.task=null ...

Tenga en cuenta que el "Agregar nuevo" botón funciona bien!

<div> 
    Description: <input name="task.desc" ng-required><br> 
    <a href="#" ng-action="task.$save(); $anchor.task=null">Save</a> 
    <input type="button" value="Add New" ng-action="$anchor.task=null"> 
</div> 

Respuesta

4

Si usted quiere tener rápido añade aquí es lo que hay que cambiar

Asumo que tienen: entidad-ng = "task = Tarea" en el código. Necesita cambiar eso a ng-entity = "Tarea" esto cambia la declaración para que no esté asociada con el anclaje. Ver http://docs.getangular.com/Ng-entity para más detalles. Esto también significa que debe instanciar manualmente la instancia de la tarea en ng-init.

A continuación, en el Guardar anclaje que necesitan para crear una instancia de documento de tareas con los valores por defecto del objeto de tarea: Tarea (Task)

de lo que necesita para guardarlo:. Tarea (Task) $ save()

Finalmente, quiere borrar el formulario, por lo que debe restablecer el objeto de la tarea en blanco. Esto sólo se puede hacer después de que el objeto ahorra por lo que es necesario incluir una devolución de llamada a los $ método save(): de tareas (tarea) $ save ({: $ root.task = {};}).

$ root se refiere al ámbito raíz ya que el alcance dentro de la devolución de llamada no es el mismo que el ámbito donde se declara la tarea.

<div ng-entity="Task" ng-init="task={}"> 
     Description: <input name="task.desc" ng-required><br> 
     <a href="#" ng-action="Task(task).$save({: $root.task={} })">Save</a> 
</div> 
Cuestiones relacionadas