2013-08-06 51 views

回答

2

正如我敢肯定,你發現,你不能直接做斯卡拉Symbol與像'some-word破折號。相反,只是包裝它:

scala> Symbol("ng-controller") 
res4: Symbol = 'ng-controller 
1

我們目前正在使用Play Framework 2和AngularJS。

我們增加了一個特殊的方法來處理這個問題:

implicit class SymbolString(str: String) { 
    def s = Symbol(str) 
    } 

然後,我們只是把它作爲這樣的:

"ng-model".s -> "datasetName" 
+0

你在哪裏添加隱式方法? –

+0

我們將它添加到駐留在控制器文件夾中的'Utils.scala'文件中。看起來像這樣:'包控制器 對象的Utils { 隱類SymbolString(STR:字符串){ DEF S =符號(STR) } } ' – jetcom

+0

然後包括它,當然,在視圖中,其中你需要使用它,像這樣:'@import Utils._' – jetcom