作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码,并希望将所有下划线模板设置为使用 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 来向您展示发生了什么。
关于带有下划线和对象字面量的 javascript 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871839/
1.字面常量 (1)字面意思是啥就是啥,看其表示就可以知道其值和类型。 (2)有值无名,一用来初始化变量,与一种字符相关联。 #include <stdio.h>int main()
我是一名优秀的程序员,十分优秀!