Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
chainchan
V2EX  ›  Tornado

求教如何把模块变量放入js文件内

  •  
  •   chainchan · Mar 10, 2013 · 5593 views
    This topic created in 4843 days ago, the information mentioned may be changed or developed.
    如果js是嵌在html模板内的情况:
    <script type="text/javascript">
    var a= {{ obj['a'] }};
    <script>

    但是如果我要把上面的内容全部放入一个js文件

    <script type="text/javascript" src="xxx.js"></script>


    那我应该如何在 xxx.js 内使用 {{ obj['a'] }} 这个变量呢?
    10 replies    1970-01-01 08:00:00 +08:00
    bixuehujin
        1
    bixuehujin  
       Mar 10, 2013
    window.a = {}
    coolicer
        2
    coolicer  
       Mar 10, 2013
    这样符合语法吗? {{ }}
    chainchan
        3
    chainchan  
    OP
       Mar 10, 2013
    @bixuehujin @coolicer
    是 Tornado 渲染模板时的语法
    zhangxiao
        4
    zhangxiao  
       Mar 10, 2013
    如果你的js文件里没有封一个闭包,那直接用就可以。如果封了,在闭包里 window.a = {},外面也可以用
    binux
        5
    binux  
       Mar 10, 2013
    .js不要放静态文件夹下,当做模版,xxx.js 内

    var a= {{ json_encode(obj['a']) }};

    然后该怎么用就怎么用啊
    chainchan
        6
    chainchan  
    OP
       Mar 10, 2013
    @binux
    也就是说没有办法把 {{ json_encode(obj['a']) }} 这个变量用在静态js文件里面。
    而只能放在html模板的<script>标签里面,是吗?

    因为js写着写着很长了,放html不直观,所以想抽成一个文件…
    binux
        7
    binux  
       Mar 10, 2013   ❤️ 1
    @chainchan 但是,.js本身可是是模版啊,render("xxx.js", obj=obj)
    reorx
        8
    reorx  
       Mar 10, 2013   ❤️ 2
    尽量避免在 Javascript 里,无论是嵌在 html 还是单文件的,引用模版变量。如果一定要用的话,可以把模版变量放在某个 html element 的 attribute 里,比如 <div data-a={{ obj['a'] }}>,再通过 Javascript 取出来。一般来说这种模版变量都跟某个 element 有关系的吧。
    chainchan
        9
    chainchan  
    OP
       Mar 10, 2013
    楼上2位已感谢~

    @reorx
    一下点通了,貌似么什么需要问了 =。=
    enj0y
        10
    enj0y  
       Mar 11, 2013   ❤️ 1
    不建议楼主将变量写进JS。
    因为JS在HTTP输出时通常包含了HTTP CACHE缓存控制头,一旦变量发生变化,不易及时在程序中及时更新到最新的变量值。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   886 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 20:21 · PVG 04:21 · LAX 13:21 · JFK 16:21
    ♥ Do have faith in what you're doing.