Acabei de instalar o Vue e tenho seguido alguns tutoriais para criar um projeto usando o modelo de webpack vue-cli. Quando ele cria o componente, percebo que ele vincula nossos dados dentro do seguinte:
export default {
name: 'app',
data: []
}
Considerando que, em outros tutoriais, vejo dados vinculados a partir de:
new Vue({
el: '#app',
data: []
)}
Qual é a diferença e por que parece que a sintaxe entre os dois é diferente? Estou tendo problemas para que o código 'new Vue' funcione de dentro da tag que estou usando no App.vue gerado pelo vue-cli.
vue.js
vue-component
vue-cli
rockzombie2
fonte
fonte
Respostas:
Quando você declara:
Essa é normalmente a sua instância raiz do Vue da qual o restante do aplicativo desce. Isso interrompe o elemento raiz declarado em um documento html, por exemplo:
A outra sintaxe está declarando um componente que pode ser registrado e reutilizado posteriormente. Por exemplo, se você criar um único componente de arquivo como:
Mais tarde, você pode importar e usá-lo como:
Além disso, certifique-se de declarar suas
data
propriedades como funções, caso contrário, elas não serão reativas.fonte
main.js
- não importa realmente, saiba que é o ponto de partida do aplicativo, semelhante aos arquivosint main()
C.Component.vue
sempre usará aexport default { ... }
sintaxe. Os documentos fazem um bom trabalho explicando as diferenças entre os componentes, global , local e arquivo únicoexport default
é usado para criar registro local para o componente Vue.Aqui está um ótimo artigo que explica mais sobre os componentes https://frontendsociety.com/why-you-shouldnt-use-vue-component-ff019fbcac2e
fonte
O primeiro case (
export default {...}
) é a sintaxe do ES2015 para disponibilizar alguma definição de objeto para uso.O segundo caso (
new Vue (...)
) é uma sintaxe padrão para instanciar um objeto que foi definido.O primeiro será usado no JS para inicializar o Vue, enquanto qualquer um pode ser usado para criar componentes e modelos.
Consulte https://vuejs.org/v2/guide/components-registration.html para obter mais detalhes.
fonte
Sempre que você usa
e someobject é
acima, você pode importar para qualquer lugar usando
import
oumodule.js
e aí você pode usar algum objeto. Não é uma restrição que algum objeto seja um objeto, mas também uma função, uma classe ou um objeto.Quando voce diz
como você disse
Aqui você está iniciando um objeto da classe Vue.
Espero que minha resposta explique sua consulta em geral e de forma mais explícita.
fonte
fonte