Как мне получить модель backbone.js из сериализованного json из модели mvc3? - PullRequest
0 голосов
/ 07 марта 2012

Если бы в моем приложении MVC3 была такая модель:

public class Person
{
    public Guid Id { get; set; }
    public Name Name { get; set; }
    public Address Address { get; set; }
    public PhoneNumber PhoneNumber { get; set; }
}

public class Name
{
    public string First { get; set; }
    public string Last { get; set; }
}

public class Address
{
    public string AddressLine { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
}

Как мне заполнить его .fetch() из backbone.js?

Вот что я пробовал:

class Person extends Backbone.Model

$ ->
    person = new Person()
    person.fetch()

    // person.get for things like Name.First, or Name, or First
    // all return undefined
    alert person.get( ... ) // ?

У меня есть соответствующий метод и элемент управления JsonResult Action, и я проверил с помощью Fiddler, что вызов fetch() правильно возвращает данные Json. (Который я могу отправить завтра утром из офиса)

Я действительно новичок в Backbone, что я делаю не так?

1 Ответ

3 голосов
/ 07 марта 2012

Пара вещей: 1) извлечение асинхронно. Попробуйте это:

person.fetch({
    success: function() {
        alert(person.get('Name')
    }
});

2) Это покажет, что свойство name является объектом (но не базовой моделью):

{
    Name: "Joe"
    etc...

}

Возможно, вы захотите использовать Backbone.Relational или что-то подобное, если хотите, чтобы Name было базовой моделью. или вы можете переопределить parse для выравнивания вашего json.

...