如何对单向绑定的变化做出反应
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
钩子。他们在补丁级别的版本中添加这么大的功能似乎有点奇怪,但至少这是一个简单的修复。
在以下代码段中:
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
钩子。他们在补丁级别的版本中添加这么大的功能似乎有点奇怪,但至少这是一个简单的修复。