请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

WXML的模板(template)本质是什么

老师,请教下 wxml 的模板语法本质是一个自定义组件吗?如果是自定义组件的话,套用vue去实现的话,是不是将 template 中的 name 注册成对应的自定义组件?

正在回答 回答被采纳积分+3

1回答

小默老师 2024-02-29 10:57:17

wxml其实就是我们基于小程序框架,设计的一套标签规范来构建页面,标签包括:view、text、swiper....等(你可以把他们理解成浏览器中的div、span、p等标签),开发者只能通过框架提供的api来控制这些标签的行为,这些标签其实就是UI线程的视图组件,称之为内置组件;div、span、p就是浏览器环境下的内置组件(这些标签就是运行在浏览器环境下的UI线程中),而view、text、swiper则是小程序环境下的内置组件,在我们的课程中这些组件是通过vue来封装的,需要在vue环境下运行;当然你也可以通过react、jq、原生dom api、native来实现,目前业界使用的是WebComponent(同学有兴趣的话可以研究下如何实现一个WebComponent),我们在课程中为了省去ui线程数据驱动,模板解析(小程序的模板语法和vue非常相似)的复杂度,所以就用了vue来实现,借用了vue的这部分能力;另外同学可以注意到我们在封装内置的组件的时候,例如video,我们注册的时候,组件名称是ui-video,这里加ui-前缀是防止与浏览器的内置标签(video)冲突,我们在编译的时候会在标签前面加统一的前缀

0 回复 有任何疑惑可以回复我~
  • 提问者 Archyomi #1
    问题没表达清楚哈,这个模板指是小程序 的 template 标签https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/template.html。它在vue中如何要解析的话是不是当成自定义组件
    回复 有任何疑惑可以回复我~ 2024-02-29 15:28:35
  • 提问者 Archyomi #2
    我的问题表述不太准确哈,意思是小程序中的 <template/> 特性如果用 vue去实现的话是不是可以当成自定义组件去理解。name是注册一个自定义组件, is是使用一个对应的自定义组件。
    回复 有任何疑惑可以回复我~ 2024-02-29 17:28:12
  • 小默老师 回复 提问者 Archyomi #3
    不好意思,我还是不太明白,你是想实现微信小程序中的哪个功能点呢?我只记得小程序中有一个<block>标签,你所说的<template>指的是?
    回复 有任何疑惑可以回复我~ 2024-03-05 14:30:22
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信