1 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
我可以確定您的翻譯中的兩個問題。第一個是import
的bpmn-js
。JS 導入是
import?Modeler?from?'bpmn-js/lib/Modeler';
應該翻譯成
@JSImport("bpmn-js/lib/Modeler",?JSImport.Default)
根據(jù)翻譯成的文檔import
@JSImport
。
另一個問題則更為微妙。在您的調(diào)用中new Modeler
,您有
js.Object(
? "container" -> "#canvas"
)
它(也許不幸的是)編譯但不做你認為它做的事情。它創(chuàng)建兩個字符串的 Scala 元組,該元組被傳遞給 JavaScript 函數(shù),Object(...)該函數(shù)實際上會按原樣返回它(因為 Scala 元組已經(jīng)是一個對象)。
您想要的是一個帶有字段的 JavaScript 對象container,您可以將其寫為
new js.Object {
? val container = "#canvas"
}
更好的方法是在外觀中使選項對象靜態(tài)類型化:
class BpmnJS(options: BpmnJSOptions) extends js.Object {
? ..
}
trait BpmnJSOptions extends js.Object {
? var container: js.UndefOr[String] = js.undefined
}
這樣,您就可以將其稱為
new BpmnJS(new BpmnJSOptions {
? container = "#canvas"
})
添加回答
舉報