我想尝试在scala.js
项目中使用SalesForce
。
SalesForce会自动注入Visualforce.remoting.Manager.invokeAction(...)
函数以启用查询数据并执行dml
。
如何从scala.js调用此函数?
答案 0 :(得分:1)
在最粗糙的意义上,您可以使用js.Dynamic
直接从全局范围调用它,例如:
js.Dynamic.global.Visualforce.remoting.Manager.invokeAction(...)
这适用于一次性,但是如果您要使用此管理器更多地工作,我可能会建议为Manager创建a Scala.js facade,并将Manager对象分配给它 - 它从长远来看,可能会产生更好的代码。
答案 1 :(得分:0)
您应该能够使用
从scala-js调用任何公开的javascript方法scala.scalajs.js.eval(x: String)
调用bootbox模态的示例:
import scala.scalajs.js.annotation.JSExportTopLevel
import scala.scalajs.js
@JSExportTopLevel("myCallBack")
protected def confirmCallback() = // do stuff
def askAQuestion(): Unit = {
js.eval("bootbox.confirm(\"Your question goes here.\", function(result) { if (result == true) { myCallBack(); }});")
}
当然要执行此操作,您必须在项目中包含javascript库。
由于这是一个非常混乱的解决方案,因此您可以考虑编写自己的外观。