2016-05-17 12 views
0

$ http.get()の戻り値を確認したいが、未定義の値が得られます。ここに私のVUEのjsのコードは次のとおりです。vue js戻り値が未定義エラーを返します

var vm = new Vue({ 
    el: '#permissionMgt', 
    data: { 
     permissionID: [] 

    }, 

methods:{ 
fetchPermissionDetail: function (id) { 
      this.$http.get('../api/getComplaintPermission/' + id, function (data) { 

        this.permissionID = data.permissionID; //permissionID is a data field of the database 
        alert(this.permissionID); //*****this alert is giving me undefined value 

      }); 
     }, 

} 
    }); 

あなたはここに問題のthatsを教えてもらえます。..ところで$ http.get()が正常にすべてのデータをフェッチしています?。

答えて

0

あなたがサーバから返さdataでどのようなタイプをチェックする必要があります設定します(() => { /*code*/ })構文を使用することができます。 @ Rajのソリューションで問題が解決されなかった場合は、おそらくpermissionIDは返されたdataには存在しません。

colsole.log(data)を行うとdataobjectまたはobjectsarrayであるかどうかを確認してください。

乾杯!

0

これは一般的なjsエラーです。次の変更を行うと動作します。

fetchPermissionDetail: function (id) { 

     var self = this; //add this line 
     this.$http.get('../api/getComplaintPermission/' + id, function (data) { 

       self.permissionID = data.permissionID; //replace "this" with "self" 


      }); 
     }, 

} 

理由は、これはよく知られてJSの問題である匿名関数の内部windowthisポイントfunction()

です。あなたはes2015を使用している場合は、矢印構文thisが正しく

+0

こんにちはRajさん、ありがとうございますが、私はまだ未定義の問題が発生しています。 –

+0

コードを更新できますか?可能であれば、jsfiddleを提供しますか? –

関連する問題