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>
Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top