ラジオボタン、テキストボックス、ドロップダウン、ユーザーが入力したテキストフィールド、ボタンをクリックすると新しいビューページなどの入力フィールドがあります開く。戻るボタンを押すと、以前選択した、またはユーザーが以前に与えた値が表示されます。AngularJSでビューを変更した後に古い値を保持する方法
どのようにAngularJSでこれを行うことができますか?
ラジオボタン、テキストボックス、ドロップダウン、ユーザーが入力したテキストフィールド、ボタンをクリックすると新しいビューページなどの入力フィールドがあります開く。戻るボタンを押すと、以前選択した、またはユーザーが以前に与えた値が表示されます。AngularJSでビューを変更した後に古い値を保持する方法
どのようにAngularJSでこれを行うことができますか?
フォームをお持ちの場合は、おそらくng-modelを使用してこれらの値を保存している可能性があります。その 'オブジェクト'を使用して、ページから移動したときにng-route/ui-routeの状態パラメータとともに渡して、ページに戻ったときにそれらを復元することができます。
または、サービスを使用して格納してから取得することができます。より良い方法はおそらくng-route/ui-routeメソッドです。
編集:ALONがコメントしたように、私はもう少し今後のされている必要があり、ここでの例です:
状態1、UI-ルータ(例えばconfig.routes.js):
.state('state_one', {
name: 'state1',
params: {
formData: {}
}
})
formobj.input1, formobj.input2
あなたが残して:
フォームは命名カルコゲノフルバレン骨格のこの種の各入力/ textareaのためのそれをオフ特性を持つ、のそれでモデル-ngの、それでは、それはformobj "と呼ばれると仮定しましょうています状態2へ行くには状態1(フォームのページ)のページでは、あなたのコントローラ内でこのような何かをするだろう:
$state.go('state_two', { formData: formobj })
だから私たちは「formobj」渡している直接state_oneようなので、同じようである、state_twoします:
は.state('state_two', {
name: 'state2',
params: {
formData: {}
}
})
だから、両方のためのコントローラで、formobjにアクセスするために、それは簡単です:
$stateParams.formData
フォームがあなたの元state_oneに戻ってきて、あなたはまだ渡している目e formobj aroundを使用して、それをモデルとして再度使用することができます(つまり、元のページ/状態に移動する前のフォームのすべての値)。すなわち:
formobj = $stateParams.formData
このソリューションを試すhttp://stackoverflow.com/a/43700447/4116300 –