Как реагировать на изменения одним способом

В следующем фрагменте:

angular.module('myModule')
        .component('myComponent', {
            controller : [
                 MyComponentController
            ],
            bindings: {
               input: '<'
            }
        });

В соответствии с документацией - раздел "Компоненты имеют четко определенный жизненный цикл", чтобы контролировать, что связывание input изменилось, мы могли бы использовать $onChanges метод жизненного цикла. Я не могу заставить это работать.

Вот как я это использую:

function MyComponentController () {self. $ onChanges = function (changesObj) {// некоторый код здесь} }

Но код даже не входит в функцию.

2 ответа

Решение

Как мы выяснили в комментариях, проблема заключалась в том, что $onChanges крюк (вместе с $onDestroy а также $postLink) не был добавлен до версии 1.5.3 Angular, а zatziky использовал 1.5.0, которая реализует только $onInit крюк. Кажется немного странным, что они добавили такую ​​большую особенность в релиз патча, но по крайней мере это было легко исправить.

Это была ошибка, исправленная в версии 1.5.4.

Тем не менее, я использую версию 1.5.3, и она работает. Странный...

Обновить

@JoeClay заметил, что это не было ошибкой вообще. $onChanges был добавлен в версии 1.5.3.

Другие вопросы по тегам