2017-02-04 3 views
0

こんにちは私は角度js 1(md-table)のテーブルを持っていて、角度のある素材ダイアログを使用しています。ダイアログ上の 私が持っているフォーム:私はフォームがポップアップ私はテーブルもポップアップオーバーレイ変化に値を変更するときに問題があるポップアップで編集ユーザーのフォームの値を変更せずに入力します - angularJS

に編集した値で埋められます欲しい

<input name="name" id="name" ng-model="user.name" ng-required="true" > 

すぐに2ウェイバインディングで。
これは達成したい動作ではありません。私は送信後にのみ編集フォームを保存します。

どうすればいいですか?あなたのマテリアル]ダイアログのコントローラーで

答えて

1

、あなたの$scope.userオブジェクトのコピーを作成し、バインディングがときに...編集するオブジェクトをコピーするために使用angular.copy

+0

もしそれがworなら答えはどうでしょうか?あなたのためにケド? –

1

を切断ようにするため$scope.user

$scope.user = angular.copy($scope.user); 

に割り当て新しい値でオリジナルを更新する準備ができました。angular.extend

$scope.originalUser = { 
    name:'foo', 
    age:37 
} 

$scope.user = angular.copy($scope.originalUser); 

$scope.user.name = "bar"; 

console.log($scope.originalUser.name);// still "foo" 

angular.extend($scope.originalUser, $scope.user) 

console.log($scope.originalUser.name);//updated to "bar" 
関連する問題