0

私はバックボーンjsの完全な初心者であり、このGITリポジトリの方針に沿って従おうとしています。以下は私が入れた最低限のコードです。

(function() {

var MWLivePreview = {};
window.MWLivePreview = MWLivePreview;

var MWTemplate = function(name) {
    return _.template($("#" + name + "-template").html());
}

var log = function(logit) {
    console.log(logit);
}

MWLivePreview.Index = Backbone.View.extend({
    template: MWTemplate('live-preview'),
    render: function() {
        log(this.template(this));
        this.$el.html(this.template(this));
        return this;
    }
});

MWLivePreview.Router = Backbone.Router.extend({
    initialize: function(options) {

        this.el = options.el
    },

    routes: {
        "": "index"
    },

    index: function() {
        var view = new MWLivePreview.Index();

        this.el.empty();
        this.el.append(view.render().el);
    }
});

MWLivePreview.boot = function(container) {
    container = $(container);
    var router = new MWLivePreview.Router({el: container});
    Backbone.history.start();
}

})()

以下のコードは私が持っているテンプレートです:

<script type="text/template" id="live-preview-template">
    <div> We have got few templates</div>
</script>

そして、私はドキュメントレディで以下のコードを呼び出すことによってすべてを配線しています

MWLivePreview.boot($("#asapatterns"));

どこが間違っているのかよくわかりませんが、次のエラーが返されます。

Uncaught TypeError: Object function (a){return new m(a)} has no method 'pick' 

何がうまくいかないかについてのアイデアや手がかりはありますか?

編集1:

削除Backbone.history.start()するとエラーが発生しなくなりますが、ビューには何も表示されません。

4

1 に答える 1

1

http://backbonejs.org/から

Backboneの唯一のハード依存関係は、Underscore.jsまたはLo-Dashのいずれかです。

ただし、Backboneに必要なバージョンと一致するように注意してください。これを書いている時点では、Backbone0.9.10のunderscore.js1.4.3です。

于 2013-02-18T12:44:19.017 に答える