最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - how to get array element from model in backbone.js - Stack Overflow

programmeradmin0浏览0评论

I have the following code:

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

now, how can I get the value?

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

Please provide me with a solution.

I have the following code:

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

now, how can I get the value?

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

Please provide me with a solution.

Share Improve this question edited Feb 13, 2017 at 13:03 Penguin9 48113 silver badges23 bronze badges asked Jul 17, 2012 at 11:43 programming loverprogramming lover 431 silver badge4 bronze badges 2
  • Models are supposed to contain scalar data – Esailija Commented Jul 17, 2012 at 11:46
  • I'm pretty sure you should be using Backbone.Model.extend and maybe you mean defaults rather than data, as you have given it initial values. – Dan Prince Commented Jul 17, 2012 at 11:54
Add a ment  | 

4 Answers 4

Reset to default 3

If you're using this model:

Person = new Backbone.Model({

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

});

So if you want to pull from an array within a model explicitly you should try this:

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

This would return:

27

From there you can iterate through the data however you prefer.

I don't know of a data property when defining a model - maybe you mean defaults? as in

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

You would retrieve the value of certain property using get: myperson.get('property1'). To set the value of a property use set: myperson.set('property1', 'newValueOfProperty')

If a property is an array the myperson.get('property3')[ index ]

To get the array as an object:

Use person.get('data')

To get the value of an attribute from the array:

Use person.get('data').name

Or person.get('data')['name']

To obtain attributes of a specific element of the array:

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.
发布评论

评论列表(0)

  1. 暂无评论