Dipende da cosa callSomeMethod()
sta facendo, ma una possibilità è quella di aggiungere una direttiva per l'elemento *ngIf
ed eseguire tale logica nel gancio OnInit
di tale direttiva.
<div *ngIf="obj.someProperty" some-method-directive>
<!--render inner parts-->
</div>
E altrove:
@Directive({
selector='[some-method-directive]',
})
class SomeMethodDirective implements OnInit { // OnInit imported from angular2/core
ngOnInit(){
// insert your someMethod lofic
}
}
Se è necessario l'accesso alla componente principale di questo metodo, è possibile ottenere ahold di esso tramite l'iniezione del costruttore nella direttiva:
constructor(@Host(ParentComponent) private parent: ParentComponent){ }
e avrai quindi accesso ad esso tramite this.parent
.
Questo è l'approccio più analogo che io possa pensare all'approccio ng1, ma come ho detto, a seconda di cosa deve fare someMethod()
, potrebbe non essere una soluzione fattibile. In caso contrario, si prega di commentare/modificare la tua domanda per spiegare perché, e questo mi darà un'idea migliore di ciò che stiamo facendo qui.
Simile a http://stackoverflow.com/questions/36427670/angular2-calling-custom-function-after-ngswitch-new-view-is-created/36427769#36427769 –