2013-05-16 5 views
0

Я новичок в backbone.js. У меня есть два файла javascript. 1 для коллекции и 1 для просмотра.Показать данные коллекции в View Backbone.js

**collection.js** 

var colle = Backbone.Collection.extend({ 

    initialize: function() { 
     var data = [ 
     { Name: "a", Image: "path1" }, 
     { Name: "b", Image: "path2" }, 
    ]; 
    } 
}); 

и мой view.js является

var View = Backbone.View.extend({ 

    initialize: function() { 
     this.collection = colle; 

    }, 

    render:function(){ 
      //How can I access that data here ? 
    } 

}); 


var view1 = new View(); 

Как я могу получить доступ к сбору данных в View?

спасибо.

ответ

1

Во-первых, вам нужен экземпляр коллекции - в настоящее время вы определили Колле как конструктор для коллекции Backbone, когда то, что вам сейчас нужно экземпляр:

var myCollection = new colle(); // convention is to use uppercase when defining your constructor 

затем передать ссылку на ваш сбор при создании экземпляра ваше мнение:

var view1 = new View({ collection: myCollection }); 

затем, внутри вашей точки зрения вы можете ссылаться на вашу коллекцию с помощью this.collection:

render: function() { 
    // reference your collection using this.collection here 
} 

Если вы можете быть более конкретным относительно того, что вы хотите сделать с вашей коллекцией, я могу расширить этот пример, чтобы продемонстрировать что-то более полезное.

+0

Большое спасибо –

+0

Но как я могу получить доступ к переменной «data» внутри функции инициализации? –

+0

@Rajeev: Обычно вы передавали эти данные вызову конструктора коллекции: 'new colle ([{Name:" a ", Image:" path1 "}, ...])' или получить его с сервера с помощью вызов 'fetch'. –

Смежные вопросы