javascript – Wie die Vue-Vorlage die Destrukturierungs-Requisiten-Funktion in jsx simuliert
PHP中文网
PHP中文网 2017-05-19 10:19:07
0
2
1032

Wir wissen, dass Sie in jsx solchen Requisiten Werte zuweisen können

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

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

In Vue schaffe ich das allerdings

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

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

Aber der Unterschied zum oben Gesagten besteht darin, dass my-comp tatsächlich nur ein some-props 的 prop, (一个对象属性),而不是像 jsx 那样,获得了 abzwei Props (werterweiterte Eigenschaften) erhält.

Der Unterschied zwischen Objekteigenschaften und erweiterten Eigenschaften besteht darin, dass erstere für die Überprüfung von Requisiten unpraktisch sind.

Wenn ich den gleichen Effekt wie jsx erzielen möchte, schreibe ich so

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

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

So zu schreiben ist super nervig, weil man oft viele Requisiten schreiben muss.

Dann stellt sich die Frage: Ist es möglich, die Abkürzung in jsx in vue zu implementieren?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(2)
我想大声告诉你

关注一下,另外,这样呢?

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

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

那就在render函数写jsx 不要写template? 逃

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage