- PVSM.RU - https://www.pvsm.ru -
25 июля вышел Angular 6.1. Данный минорный релиз [1] фреймворка можно рассматривать как замену Angular 6.0, включающую в себя некоторые новшества и исправления ошибок. Этот материал, перевод заметки из блога Angular, посвящён основным новым возможностям Angular 6.1.
Теперь разработчики Angular-приложений могут воспользоваться новой возможностью маршрутизатора, которая позволяет запоминать и восстанавливать местоположение пользователя на странице — позицию прокрутки или скроллинга. При переходе на очередную страницу приложения позиция скроллинга сбрасывается, при этом запоминается положение пользователя на предыдущей странице. Нажатие на кнопку «Назад» приводит к открытию предыдущей страницы с учётом сохранённой позиции прокрутки.
Для того чтобы включить эту возможность, можно воспользоваться следующей командой:
RouterModule.forRoot(routes, {scrollPositionRestoration: 'enabled'})
Ожидается, что в будущем мажорном релизе платформы маршрутизатор по умолчанию будет настроен на восстановление позиции скроллинга.
Существует множество способов связывания CSS-правил с компонентами, в которых определены эти правила. Это называется View Encapsulation. Инкапсуляцию можно переключить на использование ShadowDOM v1 в декораторе компонента. Делается это так:
@Component({
templateUrl: './my-component.html',
encapsulation: ViewEncapsulation.ShadowDom
})
export class MyComponent { }
Теперь применение значения ViewEncapsulation.Native, которое означает использование Shadow DOM v0, признано устаревшим.
ShadowDOM v1 отличается лучшей кросс-браузерной поддержкой, чем предыдущая версия стандарта. Работа над этим стандартом изначально велась с учётом возможности его использования в различных браузерах. О различиях Shadow DOM v0 и v1 можно почитать здесь [3].
Новшества ShadowDOM v1 будут интересны, в основном, авторам библиотеки и продвинутым разработчикам. Надо отметить, что применение Shadow DOM v1 необходимо для использования проецирования контента (content projection) в рамках технологии Angular Elements.
В этом релизе были улучшены возможности инструмента Schematics [4], в результате теперь из существующего правила можно возвращать новое правило [5]. Это позволяет разработчикам более гибко определять набор правил для Schematics.
Теперь Angular, наряду с TypeScript 2.7, поддерживает TypeScript 2.8 [6] и 2.9 [7]. Одна из важных возможностей TS 2.9, которая пригодится многим разработчикам, имеет отношение к ошибкам, к таким, как следующая:
Exported variable ‘x’ has or is using name ‘y’ from external module ‘z’ but cannot be named
В TS внесены изменения, благодаря которым, во-первых, подобные ошибки больше не появляются, а, во-вторых, больше не нужно переписывать код для того, чтобы привести его к состоянию, соответствующему подобным шаблонам экспорта.
В новом релизе [8] Angular есть и другие изменения, например, касающиеся обработки неправильно сформированных URL (malformedUriErrorHandler [9]) и направленные на улучшение работы с ассоциативными массивами и объектами (KeyValuePipe [10]). Вышла и новая версия angular-cli [11].
Angular 6.1 является последним запланированным минорным релизом версии 6.x. Поэтому, в обозримом будущем, можно ожидать выхода бета-версий Angular 7.0 и появления в этом фреймворке новых интересных возможностей.
Уважаемые читатели! Какие новшества Angular 6.1 кажутся вам наиболее интересными? Чего вы ждёте от Angular 7.0?
Автор: ru_vds
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/287779
Ссылки в тексте:
[1] минорный релиз: http://angularjs.blogspot.com/2016/10/versioning-and-releasing-angular.html
[2] Image: https://habr.com/company/ruvds/blog/418821/
[3] здесь: https://hayato.io/2016/shadowdomv1/
[4] Schematics: https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2
[5] правило: https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/schematics/README.md
[6] 2.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html
[7] 2.9: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html
[8] новом релизе: https://github.com/angular/angular/blob/master/CHANGELOG.md
[9] malformedUriErrorHandler: https://github.com/angular/angular/commit/86d254d
[10] KeyValuePipe: https://github.com/angular/angular/commit/2b49bf7
[11] angular-cli: https://github.com/angular/angular-cli/releases/tag/v6.1.0
[12] Image: https://ruvds.com/ru-rub/#order
[13] Источник: https://habr.com/post/418821/?utm_campaign=418821
Нажмите здесь для печати.