My design:
I have a Tab, which leverages NGIF, so the child content is not in the dom. The issue is that the inner component requires a subscription set up. Is there a way such that my ViewChild, when not null, can run a function?
@ViewChild("fooId")
MyCustomClass foo;
StreamSubscription sub = null;
To me, I was thinking that I would need to do some sort of while loop, with a delay to periodically check foo to see if it is not null.
setUp() async {
while(sub == null){
if (foo != null){
sub = foo.onChanged.listen((_)=>_func());
}
await new Future.delayed(new Duration(seconds: 1));
}
}
but it seems kinda dirty.
Is there a way to set up in your init file to do something akin to:
ngOnInit(){
// foo.when( () => foo !=null, (){
// sub = foo.onChanged.listen((_)=>_func());
// });
}
Obviously that is in pseudocode, but i thought there might be a better option than some polling code in order to keep checking nullness.
Make foo
a setter:
MyCustomClass _foo;
@ViewChild("fooId")
set foo(MyCustomClass value) {
_foo = value;
...
}