Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença entre 'computed' e 'methods'

Não sei distinguir quando devo criar uma função em computed ou em methods

computed: {
    fotosFiltradas() {
      if (this.filtro) {
        let exp = new RegExp(this.filtro.trim(), 'i');
        return this.fotos.filter(foto => exp.test(foto.titulo));
      } else {
        return this.fotos;
      }
    }
  },

  methods: {
    apagar(foto) {
      if(confirm("Deseja realmente excluir " + foto.titulo + "?")) {
        alert(foto.titulo + " excluido")
      }
    }
  },

Além disso, por que durante a chamada da função, em computed não é utilizado () e em methods sim

<li class="lista-fotos-item" v-for="foto in fotosFiltradas">
    <painel :titulo="foto.titulo">
        <img-responsiva :url="foto.url" :titulo="foto.titulo" />
        <botao tipo="button" rotulo="apagar" @click.native="apagar(foto)"/>
    </painel>
</li>
1 resposta
solução!

Olá

Use método quando quiser chamar um método. Use computed quando quiser um resultado calculado tratando-o como propriedade e não método. Pegou a ideia?

Usar Computed para valores que mudam toda hora tem maior performance do que você chamar um método. Deixe método para executar ações do usuário.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software