javascript - Comment le modèle Vue simule la fonctionnalité d'accessoires de déstructuration dans JSX
PHP中文网
PHP中文网 2017-05-19 10:19:07
0
2
1009

Nous savons que dans jsx, vous pouvez attribuer des valeurs à des accessoires comme celui-ci

const props = {
  a: 1,
  b: 1,
}

render() {
  return (
    <MyComponent {...props} />
  )
}

En vue, je suis capable de le faire

<template>
<my-comp :some-props="props"></my-comp>
</template>

// ...
data() {
  return {
    props: {
      a: 1,
      b: 1,
    },
  },
},

Mais la différence par rapport à ce qui précède est que my-comp ne reçoit en réalité qu'un some-props 的 prop, (一个对象属性),而不是像 jsx 那样,获得了 ab deux accessoires (propriétés à valeur étendue).

La différence entre les propriétés d'objet et les propriétés développées est que les premières ne sont pas pratiques pour la vérification des accessoires.

Si je veux obtenir le même effet que jsx, j'écrirai comme ça

<template>
<my-comp :a="props.a" :b="props.b"></my-comp>
</template>

// ...
data() {
  return {
    props: {
      a: 1,
      b: 1,
    },
  },
},

Écrire comme ça est super ennuyeux car il faut souvent écrire beaucoup d'accessoires.

Alors la question est : est-il possible d'implémenter l'abréviation dans jsx dans vue ?

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(2)
我想大声告诉你

Faites attention. Et qu’en est-il de cela ?

<template>
<my-comp :vprops="props"></my-comp> //在组件里直接用vprops.a,vprops.b
</template>

// ...
data() {
  return {
    props: {
      a: 1,
      b: 1,
    },
  },
},
習慣沉默

Alors écrivez jsx dans la fonction de rendu au lieu du modèle Escape

 ?
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!