Desejo executar esta função assim que a página estiver totalmente carregada.
vm.pointInvoice = () => {
if ($stateParams.property == "INVOICE") {
vm.invoiceEdit($stateParams.checkin)
vm.invoiceFocus = true;
vm.receiptFocus = false;
}
}
Se eu colocar a função como um botão (só para testar), tudo funciona perfeitamente
<button ng-click="vm.pointInvoice()">OPEN AND POINT TO INVOICE</button>
Mas, não importa o que eu faça - simplesmente não consigo fazer com que isso execute minha função automaticamente (quando a página está totalmente carregada e todos os dados / elementos estão disponíveis).
Sorte minha que o Stack Overflow tinha muitos posts sobre a página totalmente carregada, então eu tentei um monte deles, mas nenhum deles funcionou, todos eles disparam a função enquanto a página ainda está em branco.
Estes são alguns dos que tentei:
$scope.$on('$viewContentLoaded', function(){
debugger;
});
angular.element(document).ready(function () {
debugger;
});
$scope.$on('$stateChangeSuccess', function () {
debugger;
});
Então, minha única ideia é fazer um setTimeout(function(){ vm.pointInvoice() }, 3000);
hack feio, mas para mim isso é um pouco como desistir :-D
DEVE haver alguma maneira de disparar uma função quando a página estiver totalmente carregada ....
Você pode querer usar a ng-init
diretiva:
<div ng-init="init()">...</div>
Defina esta função em seu controlador:
$scope.init = function() {
alert("Page is fully loaded!);
}
De qualquer forma, você pode chamar esta função diretamente do seu controlador. Ele será chamado assim que o aplicativo e o controlador forem carregados.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras