在 phoenix 的 javascript 中使用控制器变量

using controller variable in javascript in phoenix

是否可以在 javascript 中使用从控制器传递到视图的渲染参数中的变量以及如何使用?

从控制器传递的变量可以在javascript中使用如下:

<script type="text/javascript">
   alert("<%= @var %>")
</script>

您可以使用的另一种方法 PhoenixGon 为简单起见,它会生成带有变量和其他方法的脚本标记。它为你生成所有的东西。您只需要从 window.Gonwundow.YouApplicationNamespace 开始使用它。而且您不需要 html.

中的其他渲染和数据归因

在控制器中:

def index(conn, _params) do
  conn = put_gon(conn, :variable, :value)
  render conn, "index.html"
end

在js模块或浏览器控制台中:

window.Gon.getAsset('variable')
# => 'value'

它还保留 Mix.env 以便在 js 中使用。