gpt4 book ai didi

带有下划线和对象字面量的 javascript 作用域

转载 作者:行者123 更新时间:2023-11-28 02:32:51 26 4
gpt4 key购买 nike

我有以下代码,并希望将所有下划线模板设置为使用 mustache 语法。如果我将 _.templateSetting 移到函数之外,它就不起作用。我如何在全局范围内设置它?

提前致谢

arc_eh.mb={
show_tree:function(){
// all i want to do is move this outside and set globally
// for all my underscore microtemplates
_.templateSettings = {
interpolate : /\{\{(.+?)\}\}/g
};

var template=_.template("hello {{ some }}");
var jt = { "some" : "more-something" };
//var final=template({ some : "say-something" });
var final=template(jt);
console.log(final);

更新#1

所以我已经用我在这里遇到的问题更新了你的 fiddle :http://jsfiddle.net/vMHeq/1/

我同意你的 fiddle 工作得很好 - 我知道这是一个我不熟悉的范围问题。任何帮助表示赞赏。

最佳答案

基本上,您需要在 arc_eh.mb 对象之外设置 _.templateSettings 选项。如果您想使用 _.template 的所有功能,您将需要包含所有三个设置。我使用 {{- }}、{{= }} 和 {{ }} 进行格式化。

_.templateSettings = {
interpolate: /\{\{\=(.+?)\}\}/gim,
escape: /\{\{\-(.+?)\}\}/gim,
evaluate: /\{\{([\s\S]+?)\}\}/gim
};

设置一个简单的 fiddle 来向您展示发生了什么。

http://jsfiddle.net/AbLA8/1/

关于带有下划线和对象字面量的 javascript 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com