我可以在ng-init
上使用两个功能吗?怎么样?
我试过setTimeout
来运行一个函数来打开一个模态,经过一段时间后,它调用关闭模态的函数,但是不起作用......
ng-init="setTimeout(closeModal, 2000) && openModal();"
这两个函数都在控制器内部:
function ($scope, $stateParams, $ionicModal, $window, $timeout ) {
$ionicModal.fromTemplateUrl('modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
});
$scope.openModal = function() {
alert("funcionou!");
//$scope.modal.show();
$timeout(function(){
$scope.modal.show();
},0)
};
$scope.closeModal = function() {
$scope.modal.hide();
};
// Cleanup the modal when we're done with it!
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
// Execute action on hide modal
$scope.$on('modal.hidden', function() {
// Execute action
});
// Execute action on remove modal
$scope.$on('modal.removed', function() {
// Execute action
});
答案 0 :(得分:1)
ng-init="initialFunction()"
在你的控制器内写:
function initialFunction(){
$timeout(closeModal, 2000); openModal();
}
答案 1 :(得分:0)
首先使用$timeout
代替setTimeout
。
在调用多个函数时,在每个函数的末尾第二次使用;
而不是&&
ng-init="$timeout(closeModal, 2000); openModal();"
将此添加到您的控制器
$scope.$timeout = $timeout;
将$timeout
注入控制器