10

Mustache.jsがテンプレートのレンダリングとDOMへの挿入を完了した後、コールバック関数を定義/実行するためのクリーンな方法はありますか?たとえば、次のようなものです。

Mustache.render(template, viewModel, function() {...});

私が思いついた最善の方法は、ビューモデルでDOMに挿入されるノードの数を数え、setIntervalを使用してその数のノードがDOMに存在するかどうかを確認することです。完了したら、必要な関数を呼び出すことができます。これは私には非効率的で潜在的にバグがあるように見えますが、他に何をすべきかわかりません。

4

4 に答える 4

0

次のようなものを使用できます。

displayData: function () {
    app.renderTemplate("test", app.data, function (returnValue) {
        $('.result').append(returnValue);
    });

},


renderTemplate: function (templatefile, data, callback) {
    var tpl = 'views/' + templatefile + '.mst';
    $.ajax(tpl,
        {
            dataType: "text",
            success: function (template) {
                var rendered = Mustache.render(template, data);
                callback(rendered);
            }
        });
}

詳細なハウツーはこちらにあります: https://www.chaensel.de/mustache-js-return-rendered-result-to-callback-function/

于 2017-04-20T14:19:59.830 に答える