-1

次の質問があります。テンプレートをロードするための次のコードがあります。

$.Mustache.load( "./templates/news/home.tpl" );

それは次のとおりです。

function load(url, onComplete)
{
    return $.ajax({
            url: url,
            dataType: options.externalTemplateDataType
    }).done(function (templates)
    {
        $(templates).filter('script').each(function (i, el)
        {
                add(el.id, $(el).html());
            });

            if ($.isFunction(onComplete)) {

                onComplete();
            }
    });
}

クリックすると、他のページに移動します。

$("body").append($.Mustache.render(pageId + "-template", data));

それは次のとおりです。

function render(templateName, templateData) {
    alert(!has(templateName));
    if (!has(templateName)) {

        if (options.warnOnMissingTemplates) {
            $.error('No template registered for: ' + templateName);
        }
        return '';
    }
    return getMustache().to_html(templateMap[templateName], templateData, templateMap);
}

したがって、次のようになります: if (!has(templateName)) テンプレートがロードされていないため、問題は何ですか?

4

2 に答える 2

1

完全なパスを設定する必要があるため、テンプレートが読み込まれませんでした - www/templates/news/home.tpl

于 2013-08-02T06:37:18.000 に答える