Açúcar sintático do Vue3 Setup, métodos de passagem de vários tipos de dados entre componentes pai e filho

Açúcar sintático do Vue3 Setup, métodos de passagem de vários tipos de dados entre componentes pai e filho

1. O componente pai usa açúcar sintático para passar o tipo de string para o componente filho

        1. Componente pai

msg é o nome da variável personalizada, que é usada para passar para componentes filho, e content são os dados a serem passados ​​para componentes filho de seu componente pai.


   
   
    
    
  1. <modelo>
  2. <div> _ _
  3. < Olá :msg = "conteúdo" />
  4. </div> _ _
  5. </modelo>
  6. < configuração do script >
  7. importar { ref } de "vue" ;
  8. importar Hello de "../components/HelloWorld.vue" ;
  9. const conteúdo = ref ( "É isso" );
  10. </ script >

        2. Subcomponentes

No açúcar sintático, você pode escrever diretamente os dados que você passou no método props = defineProps (), e finalmente chamá-lo no template.


   
   
    
    
  1. <modelo> _ _
  2. <div> _ _
  3. < h 1 > { { props.msg }} < / h 1 >
  4. < / div >
  5. < / modelo >
  6. < configuração do script >
  7. const props = defineProps({
  8. msg : Cadeia de Caracteres ,
  9. });
  10. < / script >

 No final, o efeito é assim

2. O componente pai usa açúcar sintático para passar o tipo de array para o componente filho

1. Transferência do componente principal

 DateList no componente é o nome que você declara passar para o subcomponente e ArrayList são os dados que você deseja passar para o subcomponente.


   
   
    
    
  1. <modelo> _ _
  2. <div> _ _
  3. < Olá :DateList = "ArrayList" / >
  4. < / div >
  5. < / modelo >
  6. < configuração do script >
  7. importar { reativo } de "vue" ;
  8. importar Hello de "../components/HelloWorld.vue" ;
  9. const ArrayList = reativo([
  10. {
  11. id : 1 ,
  12. nome : "Extrajudicial" ,
  13. },
  14. {
  15. id : 2 ,
  16. meu nome: "Louco" ,
  17. },
  18. {
  19. id : 3 ,
  20. meu nome: "Zhang San" ,
  21. },
  22. ]);
  23. < / script >

2. Recepção de subcomponentes

No açúcar sintático, você pode escrever diretamente os dados que passou pelo método de props = defineProps() e, finalmente, repetir a saída no modelo e tudo ficará bem


   
   
    
    
  1. <modelo> _ _
  2. <div> _ _
  3. < h 1 > { { props.msg }} < / h 1 >
  4. < div v-for = "(item, index) in props.DateList" : key = "item.id" >
  5. { { item.name }}
  6. < / div >
  7. < / div >
  8. < / modelo >
  9. < configuração do script >
  10. const props = defineProps({
  11. msg : Cadeia de Caracteres ,
  12. Lista de datas : matriz,
  13. });
  14. console e.log(props.DateList);
  15. < / script >

efeito de renderização

3. Subcomponentes usam açúcar sintático para passar valores de palavras para componentes pais

1. Subcomponentes

 Você precisa usar eventos para transferir de filho para pai, deixe emigFun = defineEmits(["handLer"]); Use o açúcar sintático defineEmits para criar um evento personalizado e depois passe o tipo que deseja passar de acordo com o evento personalizado (como mostrado abaixo)


   
   
    
    
  1. <modelo> _ _
  2. <div> _ _
  3. < div @click = "diversão" >
  4. pai da criança
  5. < / div >
  6. < / div >
  7. < / modelo >
  8. < configuração do script >
  9. importar { reativo } de "vue" ;
  10. let em igFun = defineEmits([ "handLer" ] ); // Use o método de açúcar sintático defineEmits para criar eventos personalizados.
  11. const dat = reativo([
  12. {
  13. meu nome: 123 ,
  14. id : 1 ,
  15. },
  16. {
  17. meu nome: 123 ,
  18. id : 1 ,
  19. },
  20. {
  21. meu nome: 123 ,
  22. id : 1 ,
  23. },
  24. {
  25. meu nome: 123 ,
  26. id : 1 ,
  27. },
  28. ]);
  29. diversão const = () = > {
  30. emig Fun( "handLer" , dat); // O lado esquerdo é o nome do seu evento personalizado e o lado direito são os dados que você deseja passar .
  31. };
  32. < / script >

2. Componente pai

O componente pai pode usar diretamente o evento personalizado criado por seu componente filho, adicionar o nome do evento de seu componente pai e obter com êxito os dados do componente filho por meio de parâmetros formais (conforme mostrado abaixo)


   
   
    
    
  1. <modelo> _ _
  2. <div> _ _
  3. < Olá @handLer = "mão" / >
  4. <div> _ _
  5. Clique para obter o valor do subcomponente
  6. < / div >
  7. < / div >
  8. < / modelo >
  9. < configuração do script >
  10. importar Hello de "../components/HelloWorld.vue" ;
  11. mão constante = (v) = > {
  12. console.log (v);
  13. };
  14. < / script >

Mostrar resultados

Resumir

Além disso, existem alguns problemas com o uso do açúcar sintático de configuração. Vou falar sobre isso no próximo artigo. Em segundo lugar, os componentes pai-filho do Vue passam valores um para o outro. É fácil para os novatos ficarem confusos quando passando-os de um lado para o outro. Por favor, esclareça seus pensamentos e não se apresse. O que é melhor? Se você tiver algum insight ou ideia, por favor, comente abaixo.

 

Açúcar sintático do Vue3 Setup, métodos de passagem de vários tipos de dados entre componentes pai e filho

1. O componente pai usa açúcar sintático para passar o tipo de string para o componente filho

        1. Componente pai

msg é o nome da variável personalizada, que é usada para passar para componentes filho, e content são os dados a serem passados ​​para componentes filho de seu componente pai.


   
   
  
  
  1. <modelo>
  2. <div> _ _
  3. < Olá :msg = "conteúdo" />
  4. </div> _ _
  5. </modelo>
  6. < configuração do script >
  7. importar { ref } de "vue" ;
  8. importar Hello de "../components/HelloWorld.vue" ;
  9. const conteúdo = ref ( "É isso" );
  10. </ script >

        2. Subcomponentes

No açúcar sintático, você pode escrever diretamente os dados que você passou no método props = defineProps (), e finalmente chamá-lo no template.


   
   
  
  
  1. <modelo> _ _
  2. <div> _ _
  3. < h 1 > { { props.msg }} < / h 1 >
  4. < / div >
  5. < / modelo >
  6. < configuração do script >
  7. const props = defineProps({
  8. msg : Cadeia de Caracteres ,
  9. });
  10. < / script >

 No final, o efeito é assim

2. O componente pai usa açúcar sintático para passar o tipo de array para o componente filho

1. Transferência do componente principal

 DateList no componente é o nome que você declara passar para o subcomponente e ArrayList são os dados que você deseja passar para o subcomponente.


   
   
  
  
  1. <modelo> _ _
  2. <div> _ _
  3. < Olá :DateList = "ArrayList" / >
  4. < / div >
  5. < / modelo >
  6. < configuração do script >
  7. importar { reativo } de "vue" ;
  8. importar Hello de "../components/HelloWorld.vue" ;
  9. const ArrayList = reativo([
  10. {
  11. id : 1 ,
  12. nome : "Extrajudicial" ,
  13. },
  14. {
  15. id : 2 ,
  16. meu nome: "Louco" ,
  17. },
  18. {
  19. id : 3 ,
  20. meu nome: "Zhang San" ,
  21. },
  22. ]);
  23. < / script >

2. Recepção de subcomponentes

No açúcar sintático, você pode escrever diretamente os dados que passou pelo método de props = defineProps() e, finalmente, repetir a saída no modelo e tudo ficará bem


   
   
  
  
  1. <modelo> _ _
  2. <div> _ _
  3. < h 1 > { { props.msg }} < / h 1 >
  4. < div v-for = "(item, index) in props.DateList" : key = "item.id" >
  5. { { item.name }}
  6. < / div >
  7. < / div >
  8. < / modelo >
  9. < configuração do script >
  10. const props = defineProps({
  11. msg : Cadeia de Caracteres ,
  12. Lista de datas : matriz,
  13. });
  14. console e.log(props.DateList);
  15. < / script >

efeito de renderização

3. Subcomponentes usam açúcar sintático para passar valores de palavras para componentes pais

1. Subcomponentes

 Você precisa usar eventos para transferir de filho para pai, deixe emigFun = defineEmits(["handLer"]); Use o açúcar sintático defineEmits para criar um evento personalizado e depois passe o tipo que deseja passar de acordo com o evento personalizado (como mostrado abaixo)


   
   
  
  
  1. <modelo> _ _
  2. <div> _ _
  3. < div @click = "diversão" >
  4. pai da criança
  5. < / div >
  6. < / div >
  7. < / modelo >
  8. < configuração do script >
  9. importar { reativo } de "vue" ;
  10. let em igFun = defineEmits([ "handLer" ] ); // Use o método de açúcar sintático defineEmits para criar eventos personalizados.
  11. const dat = reativo([
  12. {
  13. meu nome: 123 ,
  14. id : 1 ,
  15. },
  16. {
  17. meu nome: 123 ,
  18. id : 1 ,
  19. },
  20. {
  21. meu nome: 123 ,
  22. id : 1 ,
  23. },
  24. {
  25. meu nome: 123 ,
  26. id : 1 ,
  27. },
  28. ]);
  29. diversão const = () = > {
  30. emig Fun( "handLer" , dat); // O lado esquerdo é o nome do seu evento personalizado e o lado direito são os dados que você deseja passar .
  31. };
  32. < / script >

2. Componente pai

O componente pai pode usar diretamente o evento personalizado criado por seu componente filho, adicionar o nome do evento de seu componente pai e obter com êxito os dados do componente filho por meio de parâmetros formais (conforme mostrado abaixo)


   
   
  
  
  1. <modelo> _ _
  2. <div> _ _
  3. < Olá @handLer = "mão" / >
  4. <div> _ _
  5. Clique para obter o valor do subcomponente
  6. < / div >
  7. < / div >
  8. < / modelo >
  9. < configuração do script >
  10. importar Hello de "../components/HelloWorld.vue" ;
  11. mão constante = (v) = > {
  12. console.log (v);
  13. };
  14. < / script >

Mostrar resultados

Resumir

Além disso, existem alguns problemas com o uso do açúcar sintático de configuração. Vou falar sobre isso no próximo artigo. Em segundo lugar, os componentes pai-filho do Vue passam valores um para o outro. É fácil para os novatos ficarem confusos quando passando-os de um lado para o outro. Por favor, esclareça seus pensamentos e não se apresse. O que é melhor? Se você tiver algum insight ou ideia, por favor, comente abaixo.

 

Acho que você gosta

Origin blog.csdn.net/weixin_64310738/article/details/129034444
Recomendado
Clasificación