如何对单向绑定的变化做出反应

How to react on changes in one way bindings

在以下代码段中:

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

根据 documentation - section "Components have a well-defined lifecycle",为了监控绑定 input 是否已更改,我们可以使用 $onChanges 生命周期方法。我做不到。

这就是我的使用方式:

函数 MyComponentController() { self.$onChanges = function (changesObj){ // 一些代码在这里 } }

但是代码连函数都没有输入

这是版本 1.5.4 中更正的错误。

但是,我使用的是 1.5.3 版本,它可以正常工作。奇怪...

更新

@JoeClay 已经注意到这根本不是一个错误。 $onChanges 是在 1.5.3 版本中添加的。

正如我们在评论中发现的那样,问题在于 $onChanges 挂钩(以及 $onDestroy$postLink)直到 [= 的 1.5.3 版才添加16=],而 zatziky 使用的是 1.5.0,它只实现了 $onInit 钩子。他们在补丁级别的版本中添加这么大的功能似乎有点奇怪,但至少这是一个简单的修复。