2016-06-28 7 views
-1

timeoutメソッドを使用して2000msの遅延を追加しようとしていますが、これをcotroller内の関数(searchfunc)で呼び出そうとすると機能しません。 Error:$ timeoutは関数ではありません。 コントローラーコード:

var angularjsapp = angular.module('graphApp', ['ngAnimate', 'ui.bootstrap','ui.grid']); 

angularjsapp.controller('AccordionDemoCtrl', function($scope, $timeout) { 

    $scope.searchfunc = function(search_name,$timeout) { 
     WebSocketTest(search_name,keyword_type); 
     //$scope.loading = false; 
     $timeout(function() { 
      $scope.loading = false; 
     }, 2000); 

}); 

答えて

2

あなたの機能あなたが一緒にそれを渡すことはありませんので、あなたが関数を呼び出すとき、それは未定義になります

$scope.searchfunc = function(search_name,*$timeout* 

にパラメータとして$timeoutを渡しています。これを削除すると問題が解決されます。

scope.searchfunc = function(search_name) 

あなたは、これはあなたが内部機能に$timeoutをオーバーライドしhere

1

(閉鎖)どのように機能するかについて読むことができます。
ちょうどそれを省略します。

$scope.searchfunc = function(search_name) { 

はあなたがkeyword_typeする二番目のパラメータを意味することができますか?
これはundefinedのようになっています。

$scope.searchfunc = function(search_name, keyword_type) { 
関連する問題