2016-06-01 15 views
0

皆さん。私はangularJSの新しいと私は質問があります。 getStringbyName(StringHpByCode)関数でStringHPの名前を取得したいとします。Ajaxのスコープ機能

<div> {{getStringbyName(StringHpByCode)}} </div> 
    $scope.StringHpByCode='A11111'; 
    $scope.getStringbyName=function(StringHP) 
    { 
     AjaxHelper(HocPhanUri +"?stringhp="+StringHP, 'GET').then(function (response) { 
     return response.data.name; 
     } 
    } 
    function AjaxHelper(uri, method, data) { 
     return $http({ 
      method: method, 
      url: uri, 
      data: data ? JSON.stringify(data) : null 
     }) 
    } 

しかし、私のブラウザの表示エラー:

angular.js:13424 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: [].

それを解決する方法について説明しますか。? 申し訳ありませんが、私の悪い英語です。

+1

はあなたのAjaxHelper –

+0

関数AjaxHelper(URI、メソッド、データ){ ますreturn $ HTTP({ メソッドを表示します}) } – john

+0

また、getChuoibyNameがどこにあるコントローラも表示します。 –

答えて

0

関数コールを{{}}の中に置くと、マウスがホバーしたときに何度も呼び出されますので、同じデータに対して複数の無駄な$ http呼び出しを行うことができます(あるいは、より多くの時間がかかる)。

このボタンをクリックするなどのような別のイベントでこの関数を呼び出すことはできますか?方法、 URL:URI、 データ:データJSON.stringify(データ):?ヌル

<div> {{stringResult}} </div> 


$scope.StringHpByCode='A11111'; 
$scope.stringResult = null ; 
$scope.getStringbyName=function(StringHP) 
{ 
    AjaxHelper(HocPhanUri +"?stringhp="+StringHP, 'GET').then(function (response) { 
     $scope.stringResult = response.data.name; 
    } 
} 
function AjaxHelper(uri, method, data) { 
    return $http({ 
     method: method, 
     url: uri, 
     data: data ? JSON.stringify(data) : null 
    }) 
} 
$scope.getStringbyName($scope.StringHpByCode) ; 
+0

はい、ありがとうございます。私は表示{{getStringbyName(StringHpByCode)}}が欲しいだけです。それを表示する方法は? – john