Skip to content
Mithril.js 2
Main Navigation 指南API

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

简体中文

English
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

主题

Sidebar Navigation

入门

安装

简单应用

资源

JSX

在旧版浏览器上使用 ES6+

动画

测试

示例

第三方库集成

路径处理

关键概念

虚拟 DOM

组件

生命周期方法

键(Key)

自动重绘系统

杂项

框架对比

从 v1.x 迁移

从 v0.2.x 迁移

API

页面导航

如何阅读签名 ​

签名部分通常如下所示:

vnode = m(selector, attributes, children)

参数类型是否必须描述
selectorString|Object是CSS 选择器或组件
attributesObject否HTML 属性或元素属性
childrenArray<Vnode>|String|Number|Boolean否子 vnode,可以写作 splat 参数
返回值Vnode一个 vnode

表格上方的签名行展示了该方法的一般语法,包括方法名、参数顺序以及建议的返回值变量名。

表格中的 参数 列指示了该行描述的是签名的哪个参数。returns 行则描述了方法的返回值。

类型 列指示了参数的预期类型。

竖线 (|) 表示参数可以是列出的任何类型。例如,String|Object 表示 selector 可以是字符串或对象。

Array 后的尖括号 (< >) 表示数组元素的预期类型。例如,Array<String> 表示参数必须是一个字符串数组。Object 后的尖括号表示一个映射(键值对)。例如,Object<String,Component> 表示参数必须是一个对象,其键是字符串,值是 组件。

有时,可能会出现非原生类型,以指示需要特定的对象结构。例如,Vnode 是一个具有 虚拟 DOM 节点 结构的对象。

是否必须 列指示参数是必需的还是可选的。如果参数是可选的,可以将其设为 null 或 undefined,或者完全省略它,以便让后续参数占据其位置。

可选参数 ​

用方括号 [ ] 括起来的函数参数是可选的。在下面的示例中,url 是一个可选参数:

m.request([url,] options)

Splats ​

Splat 参数表示,如果参数是数组,则可以省略方括号,直接使用可变数量的参数。

例如,m("div", {id: "foo"}, ["a", "b", "c"]) 可以简写为 m("div", {id: "foo"}, "a", "b", "c")。

Splats 在一些编译为 JavaScript 的语言(例如 CoffeeScript)中非常有用,并且为一些常见的用例提供了便捷的简写方式。

函数签名 ​

函数用箭头 (->) 表示。箭头的左侧表示输入参数的类型,右侧表示返回值的类型。

例如,parseFloat 的签名是 String -> Number,表示它接受一个字符串作为输入并返回一个数字作为输出。

具有多个参数的函数用括号表示:(String, Array) -> Number

组件签名 ​

组件通过调用 m 来创建,其初始选择器参数通常设置为相关文档中定义的常量:

vnode = m(m.route.Link, attributes, children)

参数类型是否必须描述
attributes.hrefObject是目标路由。
attributes.selectorString|Object|Function否这将设置要使用的标签名称。如果给定,则必须是 m 的有效选择器,默认为 "a"。
attributes.optionsObject否这将设置传递给 m.route.set 的选项。
attributesObject否可传递其他属性应用于返回的 vnode。
childrenArray<Vnode>|String|Number|Boolean否此链接的子 vnode。
返回值Vnode一个 vnode。

如果指定了子元素,默认情况下它们可以作为 splat 参数 传入,除非文档中另有说明。

没有合理子元素和/或属性的元素可以选择完全省略相关参数:

vnode = m(Component, attributes)

参数类型是否必须描述
attributes.hrefObject是目标路由。
attributesObject否可应用于返回 vnode 的其他属性
返回值Vnode一个 vnode
Pager
下一页安装

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors

https://mithril.js.org/signatures.html

基于 MIT 许可证 发布。

版权所有 (c) 2024 Mithril Contributors