2017-03-20 11 views
0

console logangularjsは----次のコードでは、私はavatarPath

angular.module('Kinder.pages.member') 
    .controller('MemberInfoCtrl', MemberInfoCtrl); 

function MemberInfoCtrl($scope,MemberModel,Constants,fileReader,$filter,AppUtils,$http,toastr,API) { 

    var vm = this; 
    vm.member = {}; 
    vm.member.memberType = "1"; 
    vm.member.memberSex = "1"; 
    vm.member.avatarPath = ""; 

    $scope.getFile = function() { 
     fileReader.readAsDataUrl($scope.file, $scope); 
     var fileInput = document.getElementById('uploadFile').files[0]; 
     if(!AppUtils.isUndefinedOrNull(fileInput)){ 
      var formData=new FormData(); 
      formData.append("picUrl",fileInput); 
      $http({ 
       ........ 
      }).success(function(data, status) { 
       console.log(data); 
       if(data.stat == 'success'){ 
        //vm will have avatarPath value in there 
        console.log(vm); 
        vm.member.avatarPath = data.path; 
        //vm will have avatarPath value in there 
        console.log(vm); 
       } 
      }).error(function(data, status) { 
      }); 
     } 
    }; 

    $scope.submit = function() { 
     //vm had loss avatarPath ... 
     console.log(vm.member); 

    }; 

} 

の値を取得することはできません私は、関数がパスに戻るには、プレビューの前に写真をアップロードサーバーにアップロードすることです、

。VMに割り当てられた。しかし、私は$ scope.getFile方法外avatarPath値を取得することはできません。

を、私は問題の範囲の問題は、私は解決策を見つけることができないと思われる、私は角の初心者です。

これが理由であるものを私に伝えることができます。

を私は上記の質問を記述するためにGoogle翻訳を使用ので

、 あなたは私を理解していれば、私はとにかく...

を知らない、ありがとうございましたこの質問を閲覧する時間をとって!

+0

あなたはvm.member.avatarPath = "";を実行する必要があります。成功しました –

+0

@JayantPatilあなたに答えてくれてありがとう、あなたは、http成功メソッドに "vm.member.avatarPath = ''"を入れているのですが、私はそれを試していました。 –

+0

コンソールでデータを最初に印刷してから、スコープ変数を1つ設定してvm.members = dataに割り当てます。 –

答えて

0

私はそれを修正! @JayantPatilリマインダのため

感謝!

私はルート

.state('member.info', { 
      url: '/info/{memberId:string}', 
      params: { 
       memberId: null 
      }, 
      templateUrl: 'app/pages/member/info/member-info.html', 
      controller: 'MemberInfoCtrl as vm' 
     }); 

とhtml内でコントローラを宣言しています、私は宣言を複製

<div class="userpic" ng-controller="MemberInfoCtrl as vm"> 
    <input type="file" ng-show="false" id="uploadFile" ng-file-select/> 
</div> 

原因NG-コントローラを使用コントローラ、多分スコープは異なる、

すべて

関連する問題