【发布时间】:2014-03-13 19:53:49
【问题描述】:
我正在使用下划线模板来创建一些标记。我使用 no with 方法,所以我正在定义变量设置。
所以我的模板声明如下所示:
_.template('<div><%= data.title %></div>', { titles: title }, { variable: 'data'});
它工作正常并且可以很好地评估模板,但是当我运行我的单元测试时,似乎我得到的错误数据是未定义的。
通过用 this、self 或 obj 替换数据,它似乎工作正常。我想知道这样使用这些词是否会受到惩罚:
_.template('<div><%= this.title %></div>', { titles: title }, { variable: 'this'});
或
_.template('<div><%= this.title %></div>', { titles: title }, { variable: 'obj'});
或
_.template('<div><%= self.title %></div>', { titles: title }, { variable: 'self'});
感谢您的信息。
【问题讨论】:
-
您的模板需要一个名为
title的属性,但数据对象有一个名为titles的属性。错字?
标签: javascript unit-testing underscore.js underscore.js-templating