2015-05-26 57 views
0

如何延遲在Angularjs中調用函數? 我做了一個簡單的表單,其中有兩個文本框,分別是First Name和Last Name。包含一個提交按鈕,用於連接名字和姓氏並顯示全名。我想要點擊此提交按鈕時,必須在5秒鐘後顯示全名或其他內容。我怎樣才能實現這個延遲?使用Angularjs在文本打印中延遲

我的HTML代碼如下所示:

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular-route.min.js"></script> 
    <script src="myApp.js"></script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
    First Name : <input type="text" ng-model="fname"/> <br> 
    Last Name : <input type="text" ng-model="lname"/><br> 
    <button ng-click="clk()" > SUBMIT </button><br> 
    Full Name : {{fullName}} 
</body> 
</html> 

我的控制器看起來像:

var app = angular.module('myApp', []); 

app.controller('myCtrl', function($scope){ 
    $scope.fname=""; 
    $scope.lname=""; 
    $scope.fullName=""; 

    $scope.clk = function(){ 
    $scope.fullName = $scope.fname + " " + $scope.lname ; 
    }; 

}); 

回答

1

我從angularJs使用$timeout

$scope.clk = function(){ 
     $timeout(function(){ 
     $scope.fullName = $scope.fname + " " + $scope.lname ; 
     },5000); 
    }; 

這裏是fiddle

+0

感謝Zee的!!!!! – AngularHarsh

2

使用$timeout延遲執行代碼的函數內。

var app = angular.module('myApp', []); 

app.controller('myCtrl', function($scope, $timeout){ 
    $scope.fname=""; 
    $scope.lname=""; 
    $scope.fullName=""; 

    $scope.clk = function(){ 
    $timeout(function(){ 
     $scope.fullName = $scope.fname + " " + $scope.lname ; 
    },5000) 
    }; 

}); 
+0

謝謝..現在工作.. – anukuls