2

だから私はこの単純な必要があります:

require(['app/'+url,'dojo/text!content/'+url], function(module,template){
        if(module.init){
                module.init({
                        container: panel, 
                        containerId: 'contentTabs_' + idOp,
                        template: template
                });
        }
});

ただし、テンプレートが存在しない場合があります (存在する場合もあります)。したがって、何が起こっても、require コールバックを実行したいと思います。

これを行うAMDの方法は何ですか?

みんなありがとう。

4

1 に答える 1

1

を使用する代わりにdojo/text!、独自のプラグインを作成します。

require(['foo/maybe!'+url], function(maybeTemplate) {
  if (maybeTemplate === undefined) {
    // it's there
  } else {
    // it's not there
  }
}

foo/maybeload : function (id, require, callback)メンバーを持つオブジェクトに解決する必要があります。

load(
  id,        // the string to the right of the !
  require,   // AMD require; usually a context-sensitive require bound to the module making the plugin request
  callback   // the function the plugin should call with the return value once it is done
) -> undefined

XHR 呼び出しを使用してリソースをフェッチundefinedし、404 エラーで解決できます。

于 2012-08-06T15:56:49.043 に答える