Referência

Essa e outras matérias nesse tutorial pressupõem que você tenha pelo menos conhecimento intermediário em Javascript e HTML. Por questão de praticidade, todas as matérias nesse tutorial usam a versão global.

Referência no Inter, são chaves {}, e dentro dessas chaves, deve ter o nome de uma propriedade do objecto data, e elas(as chaves) serão substituídas pelo valor dessa propriedade, calma aí, vê um exemplo:

Olá, { mensagem }!

Antes de explicarmos o código, preparei um editor de código online(codePen) para você acompanhar melhor o tutorial, clica em aprendendo o Interjs, o editor vai abrir em outra aba, assim poderás editar e criar códigos usando o Inter.

Lá na tag script, você vê a função Ref não é? Essa função é usada para analisar o template alvo em busca de referências, e ela deve receber apenas um objecto como o seu argumento, o valor da propriedade in, indica o valor do atributo id do elemento pai onde os elementos com as referências se encontram, no nosso exemplo, o elemento pai é a div não é? E por que nós estamos chamando ele de elemento pai? Ele tem um filho, que é o elemento p, e no texto desse elemento tem uma referência chamada mensagem. O valor da propriedade data, deve ser um objecto, em que as suas propriedades serão os nomes das referências, e os seus valores, serão obviamente os textos que vão substituir as referências com os referidos nomes.

Nós usamos a referência quando quisermos que uma determinada parte da nossa interface seja dinámica, então, geralmente é esperado que a referência mude de valor, e é para isso que existe o reator. A função Ref retorna um objecto reativo com as mesmas propriedades que o objecto data, nós usamos esse objecto quando pretendermos mudar os valores das referências, agora nessa página abra o console do navegador e digite: reator.mensagem="Inter é incrível"; ou qualquer outro valor, verás a interface ser atualizada para refletir o novo valor da referência.

Contando: { contador }

A parte da função Ref você já sabe o que está acontecendo, a novidade está no setInterval, você notou que estamos incrementando o valor do contador em cada 1 segundo não é? Isso significa que estamos definindo um valor para a referência contador, então a interface vai ser atualizada para refletir o novo valor.

Ler o valor de uma referência

Nós não podemos apenas definir o valor de uma referência, mas nós também podemos ler o valor de uma referência, fazendo da seguinte forma:

E a variável retorno vai armazenar o valor da referência.

Referência em atributos

Mas deixa eu te contar um secredo, você sabia que a referência pode ser usada também em atributos HTML? Nós podemos usa-las para ler e definir os valores dos atributos, é isso aí! Nós podemos usar a referência em qualquer atributo HTML, vê o exemplo:

O valor no input é : " { valorNoInput } "

O método observe

observe é uma propriedade reservada, você não pode criar uma referência com o referido nome.

Eu acredito que você já tenha uma ideia para que esse método serve! Mas vamos lá, ele será um método do objecto reator, ele recebe apenas uma função como o seu argumento, e a referida função será executada toda vez que o valor de uma referência for alterado, e a função será invocada com três argumentos.

  • O primeiro argumento vai indicar nome da referência.
  • O secundo argumento vai indicar o valor atual da referência.
  • O último argumento vai indicar o valor anterior da referência.

O avô é: { avo }.

O neto é: { neto }.

Simples não é? Se nós modificarmos o valor da referência avo, que indica o nome do avô, automaticamente o sobrenome do neto vai ser alterado para refletir o novo valor do avo. Então, abra o console do navegador nessa página e tenta modificar o valor da referência avo, fazendo reator4.avo="novo valor", e verás o que acontece.

A propriedade setRefs

Você não deve usar uma referência com o mesmo nome que essa propriedade. SetRefs é uma propriedade reservada.

O nome já diz tudo, mas enfim, ela serve para definir os valores de múltiplas referências de uma forma bem elegante e menos cansativa, essa propriedade apenas aceita um objecto como o seu valor, e as propriedades desse objecto devem ser os nomes das referências e os valores, devem ser os novos valores para as respectivas referências.

{ nome } é { qualidade }

Foto de {nome}

Se nós tentarmos definir um valor para uma referência que o Inter não conhece, ele vai analisar novamente o template em busca da referência com o referido nome. E agora você conhece tudo sobre referência no Inter.