在凤凰城的javascript中使用控制器变量

时间:2015-09-26 14:38:34

标签: javascript elixir phoenix-framework

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

另一种可以使用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中使用。