2016-11-02 3 views
0

フレームワークを使用するプロジェクトのDojoが更新されました。最近更新された後、私は奇妙なエラー "Uncaught string.substituteがキーを見つけることができませんでした"に気付きました!!actionBarTemplate "in template"とdojoの読み込みに失敗しました。私はソースファイルからエラーとトラックについてオンラインで調べようとしましたが、その原因を特定できませんでした。なぜこれが起こるのか、それと似たような状況に遭遇したのか分かっている人は、私に知らせてください。ありがとう!Dojoのロードでエラーが発生しました。 '未知のstring.substituteがキーを見つけることができませんでした。'!actionBarTemplate "テンプレート内の"最近のdojoの更新後

+0

はあなたでし役に立てば幸いであることを確認してくださいことを考えています問題の原因となっているテンプレートを共有しますか? –

+0

1.11.2を現在使用しているアプリケーションで1.12.0-rc1を実行しようとすると、これらのエラーが発生します。 IMO、これはDojoの回帰バグです。アプリケーションのコードに変更を加えていないときにDojoを変更するエラーは発生しないはずです。私もエラーが発生します: 'dojo/parser :: parse()エラーstring.substituteがキーを見つけられませんでした"!テンプレート内の!nameAttrSetting " – ewh

+0

**アップデート**:1.12.0-rc2は私に前に述べたエラーを与えませんコメント。完全な評価はしていませんが、今度はアプリが正しく読み込まれます。 rc1では、エラーのためにロードされませんでした。 – ewh

答えて

0

が、ウィジェットのbuildRenderingで呼び出された_stringRepl関数のまさにウィジェット内に存在するが、ウィジェット内に存在しないキーを見つけられなかった場合、このエラーがスローされます。

return string.substitute(tmpl, this, function(value, key){ 
    if(key.charAt(0) == '!'){ value = lang.getObject(key.substr(1), false, _this); } 
    if(typeof value == "undefined"){ throw new Error(className+" template:"+key); } 
    if(value == null){ return ""; } 

throw new Error一部:ここ

は、この関数を返す何ですか? dijitの\テンプレート\ TooltipDialog.html
- -

は今、キー!actionBarTemplateを含むテンプレートのみが
あるのdijit \テンプレートはそうDialog.html

を\、あなたはこのテンプレートを使用するウィジェットを持っていますし、プロパティactionBarTemplateはありませんか?おそらく、プロパティーactionBarTemplate: ""をウィジェットに追加すると、問題が解決されます。

はあなたのテンプレートを持っている場合、たとえば${title}のために、これはthis.titleかどうかを尋ねることになりますが存在するので、少なくともあなたはtitle: null

はそれが

関連する問題