1

私はBackboneJsにかなり慣れていないので、本当に迷子になりました。この単純な問題に直面して一日中迷っています。

オフラインで実行するアプリを作成しようとしています。だから私はモデルやコレクション、そして.save、.fetchなどの奇妙なものを使用しません。Backbone は履歴、構造、およびテンプレート システムにのみ使用します。

私の質問はです。JSON がありますが、テンプレートに表示するにはどうすればよいですか?

  • 私の見解では、すべてがそこまで機能しています。私のjsonはjsonVarにあります。

    window.ExposView = Backbone.View.extend({
        template:_.template($('#expos').html()),
        render:function (eventName) {
            console.log(jsonVar); // it's ok here
            $(this.el).html(this.template(),{"output":jsonVar});
            return this;
        }
    });
    
  • 私のテンプレート (同時に jQuery モバイルを使用) で、Json をそこに表示したいです。

    <script type="text/tempate" id="expos">
        <div data-role="header" class="header">
            <a href="#" data-icon="back" class="back ui-btn-left">Back</a>
        </div>
        <div data-role="content" class="content">
            <%= output %>
        </div>
    </script>
    

エラー: 出力が定義されていません..まあ

別の質問です。奇跡的にテンプレートが json 出力を受け取った場合、 underscoreJs を使用して表示するにはどうすればよいですか?

お時間をいただきありがとうございます。良い週末をお過ごしください。

4

2 に答える 2

0

構文が少しずれています。コンパイルされたテンプレートは、JSON モデルを渡す関数です。このような:

$(this.el).html(this.template({"output":jsonVar}));

レンダリングする方法はいくつかありますが、マークアップを DOM に追加するだけでよいと思います。次のようなことを試してください:

var view = new ExposView();
$("body").append(view.render().el);

フィドル

于 2013-09-20T20:36:31.660 に答える