Como enviar uma nova entidade, bem como clare $ anchor.tak?
-
22-09-2019 - |
Pergunta
Usando o AngularJS estrutura, como eu tenho o "Enviar"Botão Ambos atualizam a entidade atual e limpam o ID da âncora - eu basicamente quero adicionar entradas de adição rápida, mas sempre transforma meu formulário de adição em um formulário de edição.
Aqui está minha div atual que não está funcionando, é como se estivesse ignorando o $anchor.task=null
...
Observe que o "Adicionar novo"O botão funciona bem!
<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>
Solução
Se você quiser ter um rápido acrescenta aqui é o que você precisa mudar
Presumo que você tenha: ng-inentity = "tarefa = tarefa" no seu código. Você precisa alterar isso para ng-entity = "tarefa", isso altera a declaração para que não esteja associado à âncora. Ver http://docs.getangular.com/ng-entity para mais detalhes. Isso também significa que você precisa instanciar manualmente a instância da tarefa no NG-Init.
Então, na âncora salvar, você precisa instanciar o documento da tarefa com os padrões do objeto de tarefas: tarefa (tarefa)
Do que você precisa salvá -lo: tarefa (tarefa). $ Save ()
Finalmente, você deseja limpar o formulário para que você precise redefinir o objeto de tarefas em branco. Isso só pode ser feito depois que o objeto economiza, então você precisa incluir um retorno de chamada para o método $ salv (): tarefa (tarefa). $ Save ({: $ root.task = {};})
$ root refere -se ao escopo raiz, pois o escopo dentro do retorno de chamada não é o mesmo que o escopo em que a tarefa é declarada.
<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>