2016-03-22 15 views
2

getリクエストでデータを取得しています。今、ボタンをクリックすると、angular materialモーダルを開き、そのデータを表示したいと思います。 はここに私のコードです:テンプレートで角度材質モーダルでデータを取得

$scope.openModal = function(event) { 
    $http.get('/my/api', null).then(
     function(data) { $scope.arr=data; }, 
     function(err) { console.log(err); } 
    ); 

    $mdDialog.show({ 
     templateUrl: '/app/modal.html', 
     parent: angular.element(document.body), 
     targetEvent: event, 
     clickOutsideToClose: true, 
    });  
} 

、私はテーブルを持っていると私はarrデータを表示したいです。クリックハンドラの外でgetリクエストを作成するとうまくいきます。

+0

あなたは問題を正確に指定してください。クリックハンドラの外にリクエストを作成すると、正常に動作していると言っていますか?簡単に理解できるようにもっと定義してください。ありがとう –

+0

モーダル約束が解決する前にロードされていますか?それとも全く別のものなのでしょうか? – Lex

+0

これに 'resolve'を使いたいとします。 –

答えて

0

唯一の問題は、変数に期待される結果がない場合は、.then()の成功関数のパラメータが、.dataプロパティのデータを含むオブジェクトである可能性が高いことです。

$http.get('/my/api', null).then(
    function(response) { $scope.arr = response.data; }, 
    function(err) { console.log(err); } 
); 

を、あなたのAPIの呼び出しは、その後、あなたは単にあなたが$scope.arr設定されているのと同じ関数内でそのコードを置くことができます解決されるまで、モーダルのロードを遅延する必要がある場合:だから、あなたは使用する必要があります。

+0

にロードされる前にロードされていますが、データは取得されますが、 openModal関数の外側の値 – nyxem1

関連する問題