2012-07-17 2 views
1

я следующий код:как получить элемент массива из модели в Backbone.js

Person = new Backbone.Model({ 
data:[ 
    { age: "27" }, 
    {name: "alamin"} 
] 
}); 

сейчас, как я могу получить значение?

person=new Person(); 
person.get(?); 

Пожалуйста, предоставьте мне решение.

+0

Модели должны содержать скалярные данные – Esailija

+0

Я уверен, что вы должны использовать Backbone.Model.extend, и, возможно, вы имеете в виду 'defaults', а не данные, поскольку вы дали ему начальные значения. –

ответ

0

Чтобы получить массив как объект:

Использование person.get('data')

Чтобы получить значение атрибута из массива:

Использование person.get('data').name

Или person.get('data')['name']

1

I не знаю свойства данных при определении модели - возможно, вы имеете в виду значения по умолчанию? как в

var Person = Backbone.Model.extend({ 
    defaults: { 
     property1: value1, 
     property2: value2, 
     property3: ["arrval1", "arrval2", "arrval3"] 
    }); 

Вы бы получить значение определенного имущества с использованием get: myperson.get ('property1'). Чтобы установить значение использования имущества set: myperson.set ('property1', 'newValueOfProperty')

Если свойство является массивом myperson.get ('property3') [индекс]

0

К получить атрибуты определенного элемента массива:

var people = person.get('data'); // This gets the array of people. 
var individual = people[0];  // This gets the 0th element of the array. 
var age = individual.age;  // This gets the age property. 
var name = individual.name;  // This gets the name property. 
2

Если вы используете эту модель:

Person = new Backbone.Model({ 

data:[ 
    { age: "27" }, 
    {name: "alamin"} 
] 

}); 

Так что, если вы хотите, чтобы вытащить из массив в модели явно вы должны попробовать это:

i = new App.Model.Person(); 
i.fetch(); 
i.get("data")[0].age; 

Это возвращение:

27 

Оттуда вы можете перебирать данных, однако вы предпочитаете.

+0

Как этот ответ дает решение, отличное от других ответов, которые были даны годами раньше? – Louis

+0

Это действительно помогло мне с SAPUi5, в его getProperty («data»). – RaisingAgent

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