@klinnov

Как правильно мигрировать на другую версию AngularJS?

Здравствуйте!
Хочу мигрировать в своем приложении с 1.5 на 1.6 версию.
Есть ли какие автоматические инструменты?
И что лучше делать сначала: обновлять саму версию AngularJS а затем код или наоборот?
Есть какие-то подводные камни?
Спасибо!
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
ozknemoy
@ozknemoy
яваскриптист
больших подводных камней нету. вот то что я у себя добавил с версии 1.5.8
$qProvider.errorOnUnhandledRejections(false);//for fix 4 errors in angular 1.6
    $compileProvider.commentDirectivesEnabled(false);//for angular 1.6
    $compileProvider.cssClassDirectivesEnabled(false);// надо сначала удалить директиву ui-view в классе
$compileProvider.preAssignBindingsEnabled(true); //todo for angular 1.6

в доках все описывается зачем это. плюс мои комменты
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Нужно внимательно прочитать
https://github.com/angular/angular.js/blob/v1.6.1/...
раздел Breaking Changes
Как минимум вот тут можно получить граблями

Previously, $compileProvider.preAssignBindingsEnabled was set to true by default. This means bindings were pre-assigned in component constructors. In Angular 1.5+ the place to put the initialization logic relying on bindings being present is the controller $onInit method.

To migrate follow the example below:

Before:

angular.module('myApp', [])
  .component('myComponent', {
    bindings: {value: '<'},
    controller: function() {
      this.doubleValue = this.value * 2;
    }
  });


After:
angular.module('myApp', [])
  .component('myComponent', {
    bindings: {value: '<'},
    controller: function() {
      this.$onInit = function() {
        this.doubleValue = this.value * 2;
      };
    }
  });

Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы