但是,有时,在以下情况下,属性路径中的空值可能没有问题 在某些情况下,尤其是当值以null开始但 数据最终到达。
使用安全导航操作符?,Angular停止评估 到达第一个null值并呈现视图时的表达式 没有错误。
我在这里发现一点歧义。它是否表示使用安全导航操作符不会呈现(更新)最初为null
的数据,但是由于AJAX调用在一段时间后更新了该对象而最终被更改了吗?
答案 0 :(得分:4)
是否表示使用安全导航操作器不会 渲染(更新)数据,该数据最初为空,但最终被更改 之所以说是因为AJAX调用会在一段时间后更新该对象?
不。这意味着该表达式在检测到某个YouTubePlayerFragmentX youTubePlayerFragment = YouTubePlayerFragmentX.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();
值之后就不会求值(但是,如果将来更改为某个非null值,则不会停止渲染)。
例如,如果您在 component.ts 中拥有
null
,并且在 component.html 中,您拥有
val = null;
// ...
someService.someMethod().susbcribe(val => this.val);
最初,由于{{val?.someProperty}}
是val
,因此不会呈现任何内容。
现在,一旦某个值到达null
内并且susbcribe
得到一些非空值,则this.val
的值将呈现在视图中。
使用超时查看 demo 。