这code line做什么?这是另一种符号的语法糖吗?
def createItem(itemText: String) = <.li(itemText)
<.ul(props map createItem: _*) <-- this one
答案 0 :(得分:3)
我认为你从纯粹的语法角度来看这条线太奇怪了。
<
是另一个奇怪命名的实体html_<^
的成员。
<
Gizmo属于HtmlTags类型,特别是它有方法li
和ul
,对应于标记<li>
和{{1 }}
因此<ul>
是<.ul(foobar)
方法的<
方法调用,其参数为ul
。
foobar
语法用于将集合传递给vararg方法。
总结:
foo: _*
是props
进行映射,然后结果为createItem
ul
- 类型成员HtmlType
<
因此,基本上,它只是构造了某种无序列表。
以下是project github page关于这些方法命名的简要说明:
标签和标签属性是命名空间;标签下&lt; (因为&lt; .div看起来类似于)和^下的属性(因为需要简洁的东西,你通常有许多写在新行上的属性,所有看起来都指向目标标记)。