1
resposta

$scope.formulario.$setPristine()

Após aplicarmos a promisse, onde encaixo o setPristine? Em meus-servicos ou no foto-controller (acredito que nesse, pois esse é o que possui o $scope)? Tentei diversas alternativas e não funcionou.

foto-controller

$scope.submeter = function() {
        if ($scope.formulario.$valid) {

            cadastroDeFotos.cadastrar($scope.foto)
            .then(function(dados){
                $scope.formulario.$setPristine();
                $scope.mensagem = dados.mensagem;
                if (dados.inclusao) {
                    $scope.foto = {};
                }
            })
            .catch(function(erro){
                $scope.mensagem = erro.mensagem;
            });
        }
    };

meus-servicos

angular.module('meusServicos',['ngResource'])
    .factory('recursoFoto', function($resource) {
        return $resource('/v1/fotos/:fotoId', null, {
            'update' : {
                method: 'PUT'
            }
        });
    })
    .factory("cadastroDeFotos", function(recursoFoto, $q){
        var service = {};
        service.cadastrar = function(foto){
            return $q(function(resolve, reject){

                if(foto._id){
                    recursoFoto.update({fotoId: foto._id}, foto, function(){
                            resolve({
                                mensagem: 'Foto '+foto.titulo+' atualizada com sucesso!',
                                inclusao: false
                            });
                        }, function(erro){
                            console.log(erro);
                            reject({
                                mensagem: "Não foi possível atualizar a foto "+ foto.titulo 
                            });
                        });
                }else {
                    recursoFoto.save(foto, function(){
                        resolve({
                            mensagem: 'Foto '+foto.titulo+' incluída com sucesso',
                            inclusao: true
                        });
                    }, function(erro){
                        console.log(erro);
                        reject({
                            mensagem: 'Não foi possível incluir a foto '+foto.titulo
                        });
                    });
                }
            });
        };
        return service;
    });
1 resposta

Fala aí Fabiano, tudo bem? Antes de tentar lhe ajudar, gostaria de saber o motivo para a realização do curso de AngularJS.

Precisa dar manutenção em projetos Antigos?

Pergunto isso porque o mesmo possuí uma nova versão, na qual temos um curso de quatro partes gravado.

Fico no aguardo.