我正在与Odoo集成,它使用网站上的JavaScript applet来读取HTML元素的属性并使用它们来识别登录的客户。
不幸的是,我是一个前端开发的新手,不能让它工作。
这样的元素会输出用户的电子邮件地址,例如me@example.com,到网页上:<div t-raw="request and request.env.user.partner_id.email"/>
如何分配request.env.user.partner_id的值?将发送到data-email属性,而不是硬编码的电子邮件地址,在下面的标识元素中??
<div
id="customer-identification-html-element"
data-authenticated="true"
data-email="me@example.com"
>
</div>
我尝试设置data-email="request.env.user.partner_id.email">,但随后字符串按原样发送给第三方,而不解析其值。
我还尝试了t-at -data-email="request.env.user. parentner_id .email">,在呈现模板时得到一个错误。
感谢国王,
前缀t-attf-
并使用花括号是解决方案。我将<div>
元素写成:
<div
id="customer-identification-html-element"
data-authenticated="true"
t-attf-data-email="{{request and request.env.user.partner_id.email}}"
>
</div>
然后将双花括号内的内容作为代码处理并解析为登录客户的电子邮件地址,并且在呈现时剥离t-attf-
,因此外部服务将其视为data-email="me@example.com"
也感谢你提到t-set
,真的很有用!
PS:感谢@rob提到无效的HTML,纠正了它!