вспомогательные функции внутри представления

99
9

Мне была поручена поддержка webapp, которая использует магистраль. Предыдущий сопровождающий ушел и не может ответить на любые вопросы.

Я исправил почти все проблемы и проблемы, которые я нашел, но есть тот, который действительно оставляет меня почесывать голову.

В одном представлении существует множество вспомогательных функций, таких как:

isVerifiedByAdmin: function() {
return this.model.get('verificationDate') !== null;
},

Мой вопрос: не было бы проще поставить это в метод инициализации представления, как это?

initialize: function (attrs) {
this.isVerifiedByAdmin = this.model.get('verificationDate') !== null;
}

спросил(а) 2021-01-25T19:03:07+03:00 4 месяца, 4 недели назад
1
Решение
63

uk правильно. Если вы объявите эту переменную в инициализации, то это будет одно время, поскольку инициализация - это функция-конструктор. Таким образом, разделив это на свою отдельную функцию, вы сможете определить, является ли этот оператор истинным или ложным в реальном времени, когда пользователь использует приложение.


Я бы определенно оставил это разделение как функцию, если бы это был я. Однако, если эта же функция используется для нескольких представлений, может возникнуть смысл создать класс утилиты, а затем потребовать/импортировать эту утилиту в каждом из видов, которые ее используют.

ответил(а) 2021-01-25T19:03:07+03:00 4 месяца, 4 недели назад
63

Значение "verifyDate" в модели в состоянии initialize может отличаться от значения при вызове isVerifiedByAdmin().

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

ответил(а) 2021-01-25T19:03:07+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема