【发布时间】:2018-12-18 18:56:05
【问题描述】:
随着 AngularJS V1.7 的发布,预先分配绑定到的选项已被弃用并删除:
由于38f8c9,构造函数中不再提供指令绑定。
要迁移您的代码:
- 如果您指定了
$compileProvider.preAssignBindingsEnabled(true),您需要首先迁移您的代码,以便可以将标志翻转为false。 "Migrating from 1.5 to 1.6" guide 中提供了有关如何执行此操作的说明。然后,删除$compileProvider.preAssignBindingsEnabled(true)语句。
由于bcd0d4,默认情况下禁用控制器实例上的预分配绑定。 我们强烈建议尽快迁移您的应用程序,使其不再依赖它。
依赖于存在绑定的初始化逻辑应该放在控制器的
$onInit()方法中,保证总是在分配绑定之后调用。——AngularJS Developer Guide - Migrating from v1.5 to v1.6 - $compile
当代码必须移动到$onInit Life-Cycle Hook 时,有哪些用例?我们什么时候可以把代码留在控制器构造函数中?
【问题讨论】:
-
如果代码不使用任何绑定,你可以留下它——或者你认为这里有更深层次的东西?
标签: angularjs angularjs-directive angularjs-components angularjs-1.7