我在使用 Meteor 时遇到了一些奇怪的行为。
我在 client/ 中定义的模板助手中。函数“percentCompleted”是定义在 client/lib/helper.js 中的辅助函数。当我在返回行中调用“percentCompleted”时,percentCompleted 正常完成。但是,每当我在返回行之外调用 percentCompleted 时,控制台都会记录一个错误,即函数“percentCompleted”未定义。为什么要根据模板助手中调用它的位置来定义或未定义助手函数?
这有效:
Template.chapter.percentComplete = function(){
if(_.isEmpty(this))
return "";
return percentCompleted(this)
}
这会引发“percentCompleted”未定义的错误。
Template.chapter.percentComplete = function(){
if(_.isEmpty(this))
return "";
var percentCompleted = percentCompleted(this)
return percentCompleted;
}