首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript中使用TAL:定义变量

在javascript中使用TAL:定义变量
EN

Stack Overflow用户
提问于 2013-11-16 09:31:25
回答 3查看 4.1K关注 0票数 4

我正在为一个基于plone的网站创建一个页面模板。我使用模板属性语言定义了一些变量:

代码语言:javascript
复制
<tal:macro metal:define-macro="sample" tal:define="var python: here.getThisVar();">

现在,我想在一个extern文件中使用var,通过单击模板中的一个按钮调用该文件。如何传递变量,以便在javascript文件中使用它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-17 07:40:24

在模板中,通过使用TAL编写javascript变量,如下所示:

代码语言:javascript
复制
<script type="text/javascript" tal:content="string:var MY_VAR=${view/myVar};"></script>

现在,只要您在上面的行之后调用MY_VAR,外部js的作用域就可以使用它了.

票数 8
EN

Stack Overflow用户

发布于 2013-11-18 08:21:15

另一种方法是:使用HTML5 data属性将变量注入HTML::

代码语言:javascript
复制
<div id="myVar" tal:attributes="data-myVar python:here.getThisVar();">

然后使用JAvaScript/jQuery阅读它::

代码语言:javascript
复制
$('#myVar').data('myVar');
票数 4
EN

Stack Overflow用户

发布于 2013-11-16 16:25:47

做这件事有很多种方法。所有这些都需要像构造文本一样构造Javascript代码,然后返回结果,以便插入到页面中,或者呈现为javascript注册表中的JS资源。

如果您想要一个健壮的示例,其中包括关于消息可译性的规定,并与JS资源注册中心一起工作,请参见Plone本身的方式:https://github.com/plone/Products.CMFPlone/blob/4.2.7/Products/CMFPlone/browser/jsvariables.py

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20016874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档