0

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;
}
4

1 に答える 1