Я прохожу через гид по угловому.и и наткнулся на the section on the NgClass directive. В приведенном примере источника ngClass' является функцией компоненты:Угловое связывание с результатами функции
// HTML
<div [ngClass]="setClasses()">This div is saveable and special</div>
// Controller
setClasses() {
let classes = {
saveable: this.canSave, // true
modified: !this.isUnchanged, // false
special: this.isSpecial, // true
};
return classes;
}
Не создает ли это большие накладные расходы в течение цикла дайджеста с учетом директива не знает, когда результат функции изменился и бы инициировать новую оценку функции в течение каждого цикла дайджеста? В контраста я ожидаю, что следующий код обеспечит ту же функциональность , но только для переоценки, когда одно из наблюдаемых значений изменилось на (canSave, isUnchanged, isSpecial).
<div [ngClass]="{ saveable : canSave, modified : !isUnchanged, special: isSpecial }">This div is saveable and special</div>
Может кто-нибудь пролить некоторый свет на то, что я должен принимать во внимание, чтобы Оптимизировать? Пример использования случае будет иметь этот ngClass на ngRepeat, который создает ~ 200 элементов на видимой странице.
В качестве бокового узла и меньшего вопроса мне было интересно, есть ли какой-нибудь хороший ресурс , чтобы узнать о единовременной привязке (в угловом2 против углового1). Руководство по , похоже, не охватывает это, и я надеялся получить асинхронный код времени , доступный в угловом2.
Ах. Спасибо за пояснение! Я наткнулся на эту последнюю неделю, но не понял, что она уже настроена. Предыдущий опыт с угловым обучением меня всегда учитывал эффективность, и это было бы большой ошибкой. – Raven
Именно поэтому они изменили его. –