主干:单击按钮即可调用模型提取



注意:我是主干js的新手

现在,当页面加载时,Model.fetch()被调用并且视图被更新。我想更改为单击按钮。

.HTML:

<div class="col-md-4">
     <button type="button" id="btnMiningInfo" class="btn btn-default btn-lg">Mining Info</button>
     <div class="highlight" id="miningInfo"></div>
</div>

视图:

var MiningInfoView = Backbone.View.extend({
    id:'info',
    class:'table table-hover',
    template:_.template('<table><tbody><tr><td><span>Number Of Blocks</span></td>'+
                   '<td><span><%= blocks %> </span></td>'+
                '</tr></tbody></table>'),
    initialize: function() {
                   //this.model.on('change', this.render, this);
    },
    render: function() {
           var attributes = this.model.toJSON();
           this.$el.html(this.template(attributes));
    } 
});
var miningView = new MiningInfoView({model: miningModel});
miningView.render();
$('#miningInfo').html(miningView.el);

在这里,我已经注释掉了initialize函数,以阻止它在页面加载时获取模型。

var MiningModel = Backbone.Model.extend({
        url:'http://localhost:3000/getMiningInfo',
    defaults: {
           blocks: "",
        },
    parse: function(resp) {
           return resp;
    }
});
var miningModel = new MiningModel();
miningModel.fetch();
$("#btnMiningInfo").click(function(){
    miningModel.fetch();
});

也许您只需要删除其中一个获取调用:

var miningModel = new MiningModel();
//Remove this fetch
miningModel.fetch();

这将在执行该部分代码时获取模型。但似乎您希望挖掘模型在单击时获取,您已经在此处实现了该模型:

$("#btnMiningInfo").click(function(){
    miningModel.fetch();
});

最新更新