使用jquery tmpl时,在原型方法中访问自定义obj属性的差异
|
我不确定我的方法是否已关闭,或者我是否只需要一种优雅的方法来解决自己在做什么。
我有一个自定义Javascript对象,在此示例中称为Dude。
Dude有1个属性称为“ height”,在其原型上定义了1个方法称为“ reallyTall \”
var Dude = function(props) {
this.height = \"tall\";
};
Dude.prototype.reallyTall = function() {
return this.height + \" as heck\";
};
我正在创建一个Dudes数组(在此示例中仅包含一个项目),并且希望使用jquery.tmpl()接收我的Dudes并将它们以某种方式附加到HTML的div中。
(出于此简单示例的目的,不缓存模板)
var guy = new Dude();
jQuery.tmpl(\"<li>${reallyTall}</li>\", guy).appendTo(\'#foo\');
其中,#foo是HTML中的空-
我想让我的Dude对象足够“通用”,这样,如果有人不想将它们与jquery.tmpl一起使用,他们就不必....意思是,有人可能想要实现某些目标与上述类似,但执行以下操作:
jQuery(\"#foo\").append(\'<li>\' + guy.reallyTall() + \'</li>\'));
这就是我的问题出现的地方-它的值在trueTall方法中。
当不使用tmpl()时,我可以通过简单地执行Dude \的height属性
this.height
但是当使用tmpl()时,我必须像这样访问它:
this.data.height
我可以在realTall方法中执行以下操作:
this.height || this.data.height
但这似乎很肮脏。
我希望有人对我的问题有更好的解决方案,或者可以指出我是否在这里错误地使用了jquery.tmpl()。
这是我的例子的小提琴:
http://jsfiddle.net/FTF5M/2/
没有找到相关结果
已邀请:
1 个回复
蓄荣糖些
。 http://jsfiddle.net/rniemeyer/9CtsV/