Como adicionar o quiz a um aplicativo Vue

Como integrar o quiz em um aplicativo Vue
No editor do quiz, abra “Publicação” → “No site” e configure como ele aparece
Escolha onde o quiz aparece (janela sobre o site, painel lateral ou bloco na página) e como ele abre: por exemplo, pelo botão do LeadForms, com abertura automática ou pelos links e botões do seu site. Depois clique em “Publicar” no fim da aba “Publicação”: sem isso, as configurações não chegam ao seu site.
Aba “Publicação” → “No site” no LeadForms: etapas “Onde o quiz aparece” e “Como abre”, botão “Publicar”
Copie o código do LeadForms
Abra o bloco “Código do site” e copie o código. Ele é um só para todo o aplicativo e carrega todos os seus quizzes e widgets: não é preciso colocá-lo em cada componente.
Aba “Publicação” → “No site” no LeadForms: bloco “Código do site” com o código para colar
Cole o script no index.html
Abra o index.html na raiz do projeto (no Vite ele fica ao lado do package.json e no Vue CLI, na pasta public) e cole o código copiado logo antes da tag de fechamento </body>.
Por que ali e não dentro de um componente: o Vue não executa as tags <script> dentro dos templates, então ali o código simplesmente não roda.
<!doctype html>
<html lang="pt-BR">
  <head>
    <meta charset="UTF-8" />
    <title>Meu site</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
    <script async src="https://script.leadforms.org/v1.js" data-key="SUA_CHAVE"></script>
  </body>
</html>
Abra o quiz pelo seu próprio botão
O mais simples é adicionar ao seu botão o atributo data-leadforms com o ID do quiz. Não é preciso escrever nenhum handler:
<template>
  <button type="button" data-leadforms="8233">
    Fazer o teste
  </button>
</template>
Se o quiz precisa abrir a partir do seu próprio handler, chame Leadforms.open com o ID do quiz:
<template>
  <button type="button" v-on:click="openQuiz">
    Fazer o teste
  </button>
</template>

<script setup>
function openQuiz() {
  if (window.Leadforms) {
    window.Leadforms.open(8233)
  }
}
</script>
No lugar de 8233, coloque o ID do seu quiz: é o número do link direto https://quiz.leadforms.org/ID.
A opção com link
O quiz também abre com um link comum cujo endereço seja #leadforms-ID:
<a href="#leadforms-8233">Fazer o teste</a>
Importante: precisa ser exatamente <a>, e não <router-link>. O Vue Router interceptaria a navegação e tentaria procurar uma rota em vez de passar o hash para o widget.
Se você quer o quiz como bloco dentro da página
Em “Publicação”, escolha “Bloco na página” e coloque no template do componente um contêiner com o ID do quiz:
<template>
  <div data-leadforms-block="8233"></div>
</template>
O bloco aparece sozinho, mesmo que o componente seja montado depois do carregamento da página. Se ainda assim não aparecer, chame window.Leadforms.refresh() em onMounted.
O que observar em uma SPA
• O código do LeadForms é carregado uma única vez, ao abrir o aplicativo. Ao mudar de rota ele não é carregado de novo, e isso é o esperado.
• Os blocos e botões que aparecem ao entrar em uma rota são detectados sozinhos. Se algo não aparecer, chame window.Leadforms.refresh().
• O botão com data-leadforms e a chamada Leadforms.open funcionam em qualquer rota sem fazer mais nada.
Não está conseguindo configurar?
Se algo não funcionar, você pode e resolvemos juntos.

Ainda tem dúvidas? Fale com a gente

Nome *
* Campo obrigatório
E-mail *
* Campo obrigatório
Mensagem
Fale com a gente!
Respondemos em 30 segundos