加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 站长资讯 > 评论 > 正文

在 Vue 中使用 JSX 以及使用它的原因

发布时间:2021-03-04 13:22:30 所属栏目:评论 来源:互联网
导读:片段中可以看到,我们很快就会遇到一些问题,比如重复代码等等。想象一下,必须支持input上面所列的各种属性。上面的这个小片段将会增长并成为一个难以维护的噩梦。 要解决这个问题,我们需要使用Vue进行降级处理,因此需要使用理接近Vue的内部API来解决这个

片段中可以看到,我们很快就会遇到一些问题,比如重复代码等等。想象一下,必须支持input上面所列的各种属性。上面的这个小片段将会增长并成为一个难以维护的噩梦。

要解决这个问题,我们需要使用Vue进行降级处理,因此需要使用理接近Vue的内部API来解决这个问题。

render() 方法

注意:这里并不是说没有JSX就没有一种简单的方法来处理上面的问题,只是说将这个逻辑移动到带有JSX的render()方法可以使组件更直观。

我们在 Vue 中创建的每个组件都有一个render方法。这个就是 Vue 选择渲染组件的地方。即使我们不定义这个方法,Vue 也会为我们做这件事。

这意味着当我们在 Vue 中定义 HTML 模板时,Vue 的模板编译器将其编译为一个createElement函数,该函数带有几个参数并从render函数返回结果。

为了修复上一节中的代码,我们删除了template属性或template标签,并在组件上定义了render()方法。如果在组件上定义了render方法,则 Vue 将忽略template



 

码做了几件事:

  • render方法从Vue获取一个createElement助手。
  • 我们以编程方式定义我们的标签。
  • 然后,我们创建标签并将其属性,类等作为对象传递。我们可以传递给createElement的选项很多。
  • 我们返回新创建的元素进行渲染。

我们为 Vue 组件定义的每个模板都将转换为可返回createElement函数的render方法。因为这个原因,render方法将优先于模板定义。

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读