Web组件JS框架语法和特性快速概览
网站:https://component-party.dev
🤔 为什么?
许多JS开发者对现有的各种JS框架及其语法和特性没有很好的整体认识。 我们如何解决这个问题?开发者喜欢通过示例来了解框架概览。这是深入学习之前的快速入门。
🔥 进度
Svelte 4
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
React
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Vue 3
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Angular
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Lit
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Vue 2
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 选择框
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Ember (Polaris - 预览版)
- [x] 响应式 - [x] 声明状态 - [x] 更新状态 - [x] 计算状态 - [x] 模板 - [x] 最小模板 - [x] 样式 - [x] 循环 - [x] 点击事件 - [x] DOM引用 - [x] 条件渲染 - [x] 生命周期 - [x] 挂载时 - [x] 卸载时 - [x] 组件组合 - [x] 属性传递 - [x] 向父组件发送事件 - [x] 插槽 - [x] 插槽默认内容 - [x] 上下文 - [x] 表单输入 - [x] 文本输入 - [x] 复选框 - [x] 单选按钮 - [x] 下拉选择 - [ ] Web应用功能 - [ ] 渲染应用 - [ ] 获取数据 - [ ] 路由链接 - [ ] 路由Ember (Octane)
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
SolidJS
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Alpine
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Mithril
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Aurelia 2
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Qwik
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性传递
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选按钮
- 下拉选择
- Web应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Marko
- [x] 响应式 - [x] 声明状态 - [x] 更新状态 - [x] 计算状态 - [x] 模板 - [x] 最小模板 - [x] 样式 - [x] 循环 - [x] 点击事件 - [x] DOM 引用 - [x] 条件渲染 - [x] 生命周期 - [x] 挂载时 - [x] 卸载时 - [x] 组件组合 - [x] 属性 - [x] 向父组件发送事件 - [x] 插槽 - [x] 插槽默认内容 - [x] 上下文 - [x] 表单输入 - [x] 文本输入 - [x] 复选框 - [x] 单选框 - [x] 选择框 - [x] Web 应用功能 - [x] 渲染应用 - [x] 获取数据 - [x] 路由链接 - [x] 路由Aurelia 1
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM 引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选框
- 选择框
- Web 应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
Svelte 5 (预览版)
- 响应式
- 声明状态
- 更新状态
- 计算状态
- 模板
- 最小模板
- 样式
- 循环
- 点击事件
- DOM 引用
- 条件渲染
- 生命周期
- 挂载时
- 卸载时
- 组件组合
- 属性
- 向父组件发送事件
- 插槽
- 插槽默认内容
- 上下文
- 表单输入
- 文本输入
- 复选框
- 单选框
- 选择框
- Web 应用功能
- 渲染应用
- 获取数据
- 路由链接
- 路由
🤝 贡献
本网站使用 Vite 和 Svelte 构建。网站内容以 Markdown 格式编写,位于 content
目录中。对于简单的编辑,您可以直接在 GitHub 上编辑文件并生成一个 Pull Request。
对于本地开发,推荐使用 pnpm 作为包管理器:
pnpm i
pnpm run dev
本项目要求 Node.js 版本为 v16.0.0
或更高。
添加/编辑框架片段的原则
对于 Component Party 来说,清晰度比优化更重要
在 Component Party 中,我们优先考虑清晰度而非优化,这是我们的核心教育重点。我们的目标是简化不同 JS 框架的复杂概述,以便于理解,而不是呈现过于优化的解决方案。 我们相信,深入理解应该先于优化,使学习者能够掌握框架的使用并独立发现优化技巧。这种方法符合我们致力于在 Web 组件 JavaScript 框架领域促进可访问和有效学习的承诺。
添加新框架
- Fork 项目并创建新分支
- 在
public/framework
中添加新框架的 SVG logo - 安装与该框架相关的 ESLint 插件
- 在
frameworks.mjs
中添加一个新条目,包含 SVG 链接和 ESLint 配置 - 如果该框架需要语言语法高亮,请将其添加到
build/lib/generateContent.js
中getHighlighter
调用的langs
参数中 - 创建 playground 链接:
- 在
build/lib/playground
中添加一个create${FRAMEWORK}Playground.js
文件 - 该文件应导出一个函数,返回一个对象,其中包含
fromContentByFilename
方法。该方法接受一个对象,其中键为文件路径,值为文件内容,然后返回一个框架在线 REPL 的绝对 URL,其中加载了这些文件 - 在
build/lib/playground/index.js
中注册其导出
- 在
🧑💻 贡献者
本项目的存在要感谢所有做出贡献的人。[贡献].
⚖️ 许可证
MIT。用 💖 制作