Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何仅显示我的主干收藏中的3个项目_Javascript_Backbone.js_Underscore.js - Fatal编程技术网

Javascript 如何仅显示我的主干收藏中的3个项目

Javascript 如何仅显示我的主干收藏中的3个项目,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我m在主干网中是新成员,我一直在处理这个问题。我需要为我的收藏显示3个项目,单击“显示更多”后将显示另外3个项目。 我知道我可以使用例如first()方法来处理underline.js,但是如何使用呢? 这是我的密码: $(function() { var Tasks = Backbone.Model.extend(); var TasksList = Backbone.Collection.extend({ model: Tasks, url: 'json/data.json'

m在主干网中是新成员,我一直在处理这个问题。我需要为我的收藏显示3个项目,单击“显示更多”后将显示另外3个项目。
我知道我可以使用例如
first()
方法来处理
underline.js
,但是如何使用呢? 这是我的密码:

$(function() {
var Tasks = Backbone.Model.extend();
var TasksList = Backbone.Collection.extend({
    model: Tasks,
    url: 'json/data.json'
}); 


var TasksView = Backbone.View.extend({
    el: "#tasks",
    template: _.template($('#taskTemplate').html()),
    render: function() {
        _.each(this.model.models, function(tasks){
            var taskTemplate = this.template(tasks.toJSON());
            $(this.el).append(taskTemplate);
        }, this);

        return this;
    }
});

var tasks = new TasksList();    
var tasksView = new TasksView({model: tasks});
tasks.fetch({reset:true});
tasks.bind('reset', function () {
    tasksView.render();
    });    
});

您可以先使用下划线
方法。希望这有帮助

var TasksView = Backbone.View.extend({

    el: '#tasks',

    template: _.template($('#taskTemplate').html()),

    initialize: function () {
        this.listenTo(this.collection, 'reset', this.render);
    },

    render: function () {
        _.each(this.collection.first(3), function (task) {
            var html = this.template(task.toJSON());

            this.$el.append(html);
        }, this);

        return this;
    }
}

var tasks = new TasksList(),   
    tasksView = new TasksView({ collection: tasks });

tasks.fetch({ reset:true });

我的工作非常感谢,但如何在单击按钮后加载3个任务显示更多?此.collection.rest(index)将从该索引开始返回数组的值。嗯,我是主干中的新成员,非常抱歉,但我不知道如何加载其他3个元素。这是一个我真正想要实现的问题。如果您的问题已解决,请将问题标记为已结束,这样您将帮助其他新手;)