私はという個人情報ページにng-modelsというページが割り当てられています。ビューを変更するとAngularJS - NGモデルがnullになる
<input type = "text" name = "foo_name" ng-model = "foo.name" />
<input type = "text" name = "foo_address" ng-model = "foo.address" />
<input type = "text" name = "foo_age" ng-model = "foo.age" />
その後、はその他詳細と呼ばれる新しいページにリダイレクト Continueボタンをあります。
を記入場合ボタンは必要なすべてのフィールドを検証している続行し、すべてのフィールドが検証されている場合、それはまた、ログを返します - 次のいずれか。
SUCCESS
{result:
{ error: null }
}
FAIL
{result:
{ error:
{
blah blah blah
}
}
}
[その他の詳細]ページでは、前のページで入力した詳細のGRIDです。そして、自分の個人情報で何かを編集したい場合は、このページに「編集」ボタンがあります。
したがって、saveDetailsInfoサービスに格納されているデータを取得するのにng-modelを使用しています。
$scope.retrieveData = function(dataFromService) {
$scope.foo = {
name: dataFromService.entry.name,
address: dataFromService.entry.address,
}
}
次に、それぞれのフィールドにきれいに表示されています。今問題は、"続行"ボタンをもう一度押して変更を保存しようとしている場合です。これらのフィールドは既にで定義されていませんですが、入力フィールドには値が印刷されて入力されているというエラーが返されます。
正直言って、なぜ私はデータの取得を処理するのにちょうど良いと思っていたので、それがnullになったのかどうかわかりません。
ありがとうございました!
お使いのコントローラプットの開始時:$のscope.foo = {名:「」、アドレス:」 '、年齢:' '};それが修正されるかどうかを確認してください – rrd
もっとコードを投稿してください。 [続行]ボタンではどういうことがありますか? –
Continue機能は、必要なすべてのフィールドが入力されたかどうかをチェックするだけです。次に、 'var data = angular.fromJson(angular.toJson($ scope.formName));'という部分があります。ここで、dataは、サービスが呼び出されているときのparamsです。私はそれを正しくしたと思うが、フィールドの1つを記録しようとしたときに「未定義」を返すということは変だ。 – alleycat