2016-09-30 5 views
0

で値を更新しません追加されましたが、コンソールにチェックインすると、コントローラの値がnullになります。NG-モデルは、私はこのような形をしているコントローラ

すべてのヘルプはappreciated.thanks

EDIT次のようになります。私はこのコントローラを持っており、それはほぼ同じコードだし、それがうまく機能

customModule2.controller('ProjectController',function ($state, $stateParams, $location, $log,$http, $scope, projectFactory , appSettings) { 
    $scope.project = {}; 
    $scope.setProject = function() { 
    if($scope.ProjectForm.$valid) { 
     projectFactory.addProject($scope.project) 
      .success(function (data) { 
       $scope.addMessage = data; 
       console.log('here' + $scope.project.name); 
      }) 
      .error(function (data, status) { 
       $scope.addMessage = "Erreur lors de l'ajout : " + data + ' ' + status; 
       console.log('here'); 
       $log.log(data.error + '' + status); 
      }); 
     $scope.showMessage = true; 
     $scope.ProjectForm.$setPristine(); 
    } 
    }; 

それは$scopeだろう問題?

+0

user.cin not user.firstnameをログに記録しています –

+0

提供されたコードに構文エラーがあります。これがあなたのコードにあるものだと確信していますか? –

+0

これは私のコードです。コードを更新しました。「スニペットです。」 –

答えて

0

おそらくsuccess(...)との機能には異なるスコープ(異なる変数)があります。これを修正するには、値をキャッシュすることができます。

console.log("controller set : ", $scope.user.firstname); 

文字列にあなたのuser.firstnameオブジェクトを変換しようとしconsole.log("controller set : " + $scope.user.firstname)連結:

customModule2.controller('UserController',function ($state, $stateParams, $location, $log,$http, $scope, userFactory , appSettings) { 

    $scope.user = {}; 
    $scope.setUser = function() { 
     var firsName = $scope.user.firstname; 
     if($scope.UserForm.$valid) { 
      userFactory.addUser($scope.user) 
       .success(function (data) { 
        console.log("controller set : " + this.user.cin); 
        $scope.addMessage = data; 
        $log.log(''); 

       }) 
       .error(function (data, status) { 
        console.log("user firstname : " firstName); 
       }); 
      $scope.UserForm.$setPristine(); 
     } 
    }; 
)}; 
+0

フォームがあるので、データがたくさんあるので、すべてのデータを処理する必要がありますか?別のコントローラー/フォームで、うまく動作します... –

+0

@MoatezBouhdidはい、それはそれを行う通常の方法ではありません。あなたはファクトリを使っているので、フォームデータをそれに渡しています( '$ scope.user'オブジェクト)。このファクトリを作成すると、' $ scope.user'オブジェクト内のフォームにアクセスする必要がなくなります。成功(...) 'または'エラー(...) '関数を使用します。 – Titus

+0

あなたの回答をありがとうございますが、私はこれが答えであるとは確信していません。私は言ったように、別のコントローラ/フォームに同じコードがあり、それはうまくいきます。 )、 –

0

あなたが使用してコンソールにユーザー名を印刷しようとしなければなりません。

+0

あなたの返答をありがとうが、 '$ scope.user.firstname'でも有効です –

関連する問題