0

我正在使用 angular 1.5 并且我有控制器,但它不是一个组件,只是普通的控制器。我尝试在其中使用 $onChanges,但它不起作用。那么,真的可以在非组件控制器上使用 $onChanges 吗?

4

1 回答 1

1

组件具有明确定义的生命周期每个组件都可以实现“生命周期挂钩”。钩子之一是$onChanges

参考

如果您想检测更改而不使用 Angular 1.5 组件功能,那么您有以下选项可以继续:

  • 创建一个组件,以便您可以使应用程序的这一部分可重用,并使其在此版本的 Angular 中提供开箱即用的大部分生命周期钩子。

由于您没有说明您的实际用例,您可以根据需要尝试以下操作:

  • 如果您要绑定到 HTML5 input/select/radio 元素,则使用ng-model双向数据绑定,以便当用户更新它时,您的模型将自动更新。
  • ng-change与上面结合,ng-model以便您可以在值更改时添加一些额外的行为。参考
  • 如果$watch您确实无法在上面选择并在不再需要时将其销毁,请使用。参考

另外,请在您的问题中提及您要实现的目标。一个 jsfiddle 会很好,并且可以为您提供更清晰的答案。

于 2017-02-13T09:56:51.633 回答