Задать вопрос
Valonix
@Valonix
Back end / Front end developer

Angular 1.6.0 onInit как это работает?

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

bindings: {
            item: '=',
        },


пишу
const ctrl = this;

                this.$onInit = function() {
                    ctrl.item = this.item;
                };


пишет что undefined....
Так как теперь это работает ? :)
  • Вопрос задан
  • 1073 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Изменилось то, что использовать биндинги нельзя в самом теле контроллера.
Они появятся только когда будет вызван $onInit.
Т.е. если вам нужно какое-то значение от биндинга посчитать - нельзя сделать так:
bindings : {
   item: '<'
}
function ctrl() {
    const vm = this;
    vm.coolVal = this.item * 2;
}


Т.к. биндинги ещё не будут инициализированы. Нужно делать это в $onInit.
Ответ написан
@Stepanya
bindings: {
            item: '<'
        },


const ctrl = this;

                this.$onInit = function() {
                    console.log(ctrl.item);
                };


https://jsfiddle.net/jxcj2w79/2/
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы