强制Angular 2视图从数据

时间:2015-12-16 23:47:27

标签: angular

我有一个Angular 2(beta 0)组件,其值根据Angular之外的代码而变化。我可以听到这个并在发生这样的更改时执行代码,但我不知道要运行什么代码来强制Angular 2视图更新。

如果我在初始化组件时获取对正在运行的NgZone的引用,我可以调用ngZone.run(function() { /* do nothing */});并强制进行更新。但是,我不知道我应该做些什么,即使是这样,我也不确定什么是获取我的应用程序的ngZone参考的合法方式

我该怎么做?

[编辑]在Angular 1.x中,我会$scope.$apply(),但那不在Angular 2中。其他人建议做一个setTimeout(function() { /* do stuff */ }),但似乎没有被NgZone迷住( 被正常区域挂钩),因此不会触发检查更改。

1 个答案:

答案 0 :(得分:0)

我明白了。与Angular 1不同,并非所有组件的可注入依赖项都可以从参数名称中推断出来。在我的情况下,我可以访问NgZone然后绑定区域中的更改,如下所示:

B,C,D