使用 JSrender将 DOM 级别 JS 对象传递给模板函数
pass a dom level js object to a template function using jsrender
我只想将模板填充的javascript对象传递给帮助程序函数。我已经查看了有关将帮助程序对象传递给循环的对话,但没有找到任何直接解决以下示例的内容。
<script type="text/javascript">
// an object set by the template
var SomeObject = {};
SomeObject.Id=6;
</script>
<script id = "SomeTemplate" type="text/html">
<div id="somegroup_{{>Id}}" class="main">
<img id="somegroup_img_{{>Id}}" class="mainImg" src="{{: ~fltrOAMnImgs_hlp(Images, SomeObject)}}">
</div>
</script>
当前的上述代码不会将 SomeObject 传递给帮助程序函数。我如何使用新的 jsrender 库来做到这一点?
如果要在模板中提供对SomeObject
的访问权限,则必须将该对象作为帮助程序传入。有一些不同的方法可以做到这一点,具体取决于你是希望它全局适用于所有模板,仅用于此模板,还是仅用于此 render() 调用。请参阅:注册帮助程序、转换器、标记下的 $.views.helpers() 主题...
例如,如果使用渲染调用将其传入,则名称为"myObject":
myTemplate.render(myData, {myObject: SomeObject});
然后你可以像~myObject
那样引用它:
<img ... src="{{: ~fltrOAMnImgs_hlp(Images, ~myObject)}}">
另请参阅此相关答案:尝试使用 jsrender 在 for 循环中的数组上运行函数
相关文章:
- 在javascript中调用函数/对象引用时,可容纳任何数据类型
- 访问函数对象的上下文属性|如何
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 如何将函数对象从javascript传递到Polymer元素
- 为什么函数对象的实例没有继承函数原型属性
- 为什么我会从 JavaScript 函数返回一个命名函数(对象)
- 为什么实例构造函数指向最上面的函数构造函数对象
- 使用object.freeze()扩展函数对象-can't添加字段
- 为什么'这'与函数对象一起使用时会有不同的处理方式
- setTimeout()/setInterval()赢得't执行**我正在传递函数对象,而不是执行函数
- 为什么茉莉花间谍不't通过引用解析函数对象
- 在 mongo map 中调用外部 javascript 函数(对象)或减少上下文的可能方法
- 在 JavaScript 中为函数对象添加别名
- 在 Express JS 中从路由调用函数对象
- 函数对象的名称属性是什么
- 构造函数对象
- 节点.js - 从另一个函数/对象发出事件
- 声明函数是否会创建具有函数名称和分配给它的函数对象的变量
- 函数对象__proto__和原型属性
- 类仿真 - 模块模式与函数对象