为了账号安全,请及时绑定邮箱和手机立即绑定

vue template 如何模拟 jsx 中的解构 props 特性

vue template 如何模拟 jsx 中的解构 props 特性

绝地无双 2018-11-24 14:15:45
我们知道,在 jsx 中可以这样为 props 赋值const props = {   a: 1,   b: 1,}render() {   return (     <MyComponent {...props} />   )}在 vue 中,虽然我能够这样做<template><my-comp :some-props="props"></my-comp></template>// ...data() {  return {    props: {      a: 1,      b: 1,     },   }, },但和上述的区别在于,这样 my-comp 其实只接收了一个 some-props 的 prop, (一个对象属性),而不是像 jsx 那样,获得了 a,b 两个 prop (值展开的属性)。对象属性和展开属性的区别在于,前者不方便做 props 验证。如果我想实现和 jsx 一样的效果,我就要这样写<template><my-comp :a="props.a" :b="props.b"></my-comp></template>// ...data() {  return {    props: {      a: 1,      b: 1,     },   }, },这样写超级烦,因为经常要写好多 prop。那么问题来了,请问在 vue 中是否可以实现 jsx 中那样的简写呢?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 967 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号