vue2里用的jsx里出现一个问题?

          render: h => {
            return (
              <FMAllFunction onlyDiscountFlag></FMAllFunction>
            )
          },

比如这段jsx代码,onlyDiscountFlag并没有被传入到FMAllFunction组件中,不管是$attrs还是$props都没有接收它,但是直接在template里写,却不会有这个问题,然后我就在思考,到底是什么问题,我发现换一个单词,比如discountFlag就能顺利接收,后来我想到可能的原因,是不是有可能是on作为一个单词的前缀,被jsx语法认为了是什么其它用法,比如作为事件?或者其它,传入到了组件内部,导致$attrs还是$props都没有接收它,带着这个疑问我验证了一下,发现确实,只要前缀是on,并且on是小写的,不管怎么传,都进不了组件内部。所以想请各位比较熟悉jsx的大神解答一下。on这个单词(或者是单词的前缀带有on)如果作为属性传递过去,是不是有什么其他含义?
我有想过是不是被作为事件传递进去了,但是事件的写法不是vOn:嘛。
最后我又发现,如果OnlyDiscountFlag首字母是大写的,是可以传递进去的。这又是为什么?
以下是我找到的官方文档,不知道全不全

vue2的jsx的官方文档

阅读 804
2 个回答

vue中使用jsx的绑定事件是on-click或者onClick的,并不是v-on:click

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题