Магистральная модель новая против несохраненных - PullRequest
0 голосов
/ 09 марта 2012

У меня есть базовое представление, которое отображает модель на экране.Когда модель (IsNew), я должен получить значение своего расстояния из this.model.attributes.distance, иначе из this.model.distance Почему это?

Итак, где-то в коде у меня есть это:

if(!this.model.distance)
    distance = this.model.attributes.distance
 else
    distance = this.model.distance;

На мой взгляд, это уродливое решение, и, вероятно, есть более хороший способ сделать это.Любые подсказки?

Ответы [ 2 ]

0 голосов
/ 09 марта 2012

Вы, вероятно, получаете и устанавливаете свои значения неправильно.

Чтобы установить значение: this.model.set({name: "value"})

Чтобы получить значение: this.model.get("value")

the *Метод 1009 * принимает в качестве параметра документ JSON и позволяет указать несколько атрибутов для назначения:

this.model.set({foo: "bar", baz: "quux"})

Метод get позволяет указать только одно значение для полученияпо имени.

Перейдя непосредственно к атрибуту model.attributes, вы обойдете всю логику и процесс, которые Backbone использует для моделей, включая уведомления о событиях и проверку.Рекомендуется использовать методы set и get вместо прямого доступа к атрибутам.

0 голосов
/ 09 марта 2012
var distance = this.model.get('distance')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...