我刚开始使用Play2而且我正在努力学习scala。
在视图中,我有这个简单的表单助手来创建新闻项目。
@textarea(
newsItemForm("content"),
'_label -> "Content",
'rows -> 3,
'cols -> 50,
)
现在我想在属性中添加data-wysiwyg
,但由于它包含 - scala抱怨 - 不是Symbol的成员。
因为'
只是编写符号(“data-wysiwyg”)的一种很好的方式,我可以使它工作,但是我的视图看起来会很丑陋,其中有一些属性与Symbol
和其他人一起指定与'
我的问题是:有没有办法为html5 '
属性使用scala data-
表示法?
答案 0 :(得分:9)
我认为这不可能,因为破折号将被解释为减号。如果要缩短声明,为什么不在字符串中添加方法s
来生成相应的符号(类似于生成正则表达式的r
方法)?
class SymbolString( str: String ) {
def s = Symbol(str)
}
implicit def str2symstr( str: String ) = new SymbolString(str)
scala> "hello".s
res20: Symbol = 'hello
scala> "data-wysiwyg".s
res21: Symbol = 'data-wysiwyg
答案 1 :(得分:3)
您还可以使用Symbol
随播广告对象的apply方法。我认为这更具可读性,因为它很明显你创建了一个符号:
scala> Symbol("data-wysiwyg");
res0: Symbol = 'data-wysiwyg