一文读懂web标准的基石:web IDL

本文深入探讨Vue.js 3的设计,特别是其声明式UI的实现。通过Web IDL,我们理解组件、模板和渲染器如何协同工作,构建虚拟DOM并将其转换为实际DOM。Vue.js 3的组件是声明式UI的核心,编译器和渲染器共同作用,形成框架的有机整体。
摘要由CSDN通过智能技术生成

一、前言

我们从全局视角了解Vue.js 3 的设计思路、工作机制及其重要的组成部分。我们可以把这些组成部分当作独立的功能模块,看看它们之间是如何相互配合的。

  • UI的两种形式:模板字符串和虚拟DOM
  • Vue.js框架的两个重要组成部分:编译器和渲染器

二、本章内容

2.1 声明式地描述UI

Vue.js 3 是一个声明式的UI框架。设计一个这样的框架,我们需要了解编写前端页面都涉及哪些内容?具体如下:

  • DOM元素:是div标签还是a标签。
  • 属性:如a标签的href属性,再如idclass等通用属性
  • 事件:如clickkeydown等。
  • 元素的层级结构:DOM树的层级结构,既有子节点,又有父节点。

那么,如何声明式地描述上述内容呢? 在Vue.js 3 中的解决方案是:

  • 使用与HTML标签一致的方式来描述DOM元素、属性与层级结构等,例如 <div id="app"><span>趋动科技</span></div>;
  • 使用:或v-bind来描述动态绑定的属性,使用@或v-on来描述事件例如 <div :name="name" @click="handleClick"></div>; 这样,用户不需要手写任何命令式代码,就可以实现声明式地描述UI。当然除了使用这种模板形式描述UI外,还可以用JS对象来描述:
const title = {tag: 'div',props: { onClick: handleClick},children: [{tag: 'span'}]
} 

对应到Vue.js模板是:

<div @click="handleClick"><span></span></div> 

使用JS对象来描述比模板来说的优势是更加灵活。假如我们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值