玩框架从Javascript访问Play变量

玩框架从Javascript访问Play变量,javascript,playframework,global-variables,Javascript,Playframework,Global Variables,我不熟悉Play框架(1.2),但我想知道,希望我能正确回答这个问题……我有一个Play变量,它存储用户当前正在查看的页面的哪个部分(“u部分”)。有没有办法从.js函数访问该变量 更新: You can store objects for js as well from play: <script type="text/javascript"> window.mytestarray = new Array(); </script>

我不熟悉Play框架(1.2),但我想知道,希望我能正确回答这个问题……我有一个Play变量,它存储用户当前正在查看的页面的哪个部分(“u部分”)。有没有办法从.js函数访问该变量

更新:

You can store objects for js as well from play:


    <script type="text/javascript">
          window.mytestarray = new Array();
     </script>



       #{list 0..links.size()-1, as:'i'}



   {%
    router = play.mvc.Router;
    url = router.reverse(_section + '.' + links[i]).url;
   %}


      <script  type="text/javascript">
           window.mytestarray.push("${url}")
      </script>


   <li js_sub_nav_name="${ _section}" >  <!-- MC class="#{if i == 0}first#{/if}"-->
   <a href="${url}" class="${lines[i]}#{if _page == links[i]} active#{/if}">&{'header.nav.'+_section+'.'+links[i]+'.html'}</a>

   </li>
  #{/list}
  </ul>
 #{/if}
您也可以从游戏中存储js对象:
window.mytestarray=新数组();
#{list 0..links.size()-1,格式为:'i'}
{%
路由器=play.mvc.router;
url=router.reverse(_section+'..+links[i]).url;
%}
window.mytestarray.push(“${url}”)
  • #{/list} #{/if}
    您可以在视图文件中创建一个javascript全局变量,并从其他javascript文件访问该变量:

    #my view
    ...
    <script type="text/javascript>
    window._section = "${_section}";
    </script>
    

    使用html5数据属性,如:

    <div id="yourSection" data-section="${_section}">
    ...your section contents...
    </div>
    
    
    …你的部分内容。。。
    
    是的,这正是我想要做的!只有一件事;您的代码中有一个语法错误:“javascript”结尾处应该是:(Missing)您也可以访问本地播放变量和对象吗?例如,在这个播放代码中,我可以存储“router”和“url”以供以后在javascript中引用吗?#{list#{list 0..links.size()-1,作为:'I}{%router=play.mvc.router;url=router.reverse(_-section+'.+links[i]).url;%}还有一件事:如果在播放代码中更新了_-section,那么相应的js变量就不会更新……任何方法都可以解决这个问题?发现您可以将对象存储在数组中,例如:{%router=play.mvc.router;url=router.reverse(_section+'..+links[i]).url;%}window.mytestarray.push(${url})你们有并没有可能在数据段中存储一个对象而不仅仅是一个字符串?若你们稍微拉伸它,你们可能会存储一个json字符串,你们可以很容易地将其转换为javascript对象,或者若你们再拉伸一点,你们可以任意序列化你们的对象,并有一个javascript版本来反序列化它。我从来并没有需要过我不想做那样的事。
    <div id="yourSection" data-section="${_section}">
    ...your section contents...
    </div>