私はNG-オプションで選択を変更する必要があり、それはコントローラのいずれかからのデータを使用しています。Angular.js - リフレッシュビューのNG-オプションは後のデータ
'option1' : array[ 1: "Test", 2: "Test2" ],
'option2' : array[ 12: "abc", 26: "zyc" ],
'option3' : array[ 14: "fdfd", 27: "fdf" ],
'option4' : array[ 15: "dff", 28: "dffd" ],
とビュー:データは次のようにキーと値のペアで始まりアプリ上でAJAXによって取り出され、二次元配列である
<select name="selectedLink" id="selectedLink" ng-model="selectedLink" ng-options="key as value for (key , value) in links[selectedType]" ng-change="changeLinkName()" placeholder="Please Select" class="annotation-element">
すべては、アプリ起動で正常に動作しますが、問題があるの後に私を変更しますリンク配列。新しい要素を追加すると、次のようになります。
// Watch new element variables
$scope.addNewElement = function() {
var newElement = $('#inputElementId').val();
// (...)
$scope.links[newElement[0]][newElement[1]] = newElement[2];
$scope.selectedLink = newElement[1];
// (...)
};
問題は表示が更新されないことです。選択肢には古いリンク配列データしかありません。 $ scope。$ applyを使ってみましたが、うまくいきません。
など私はjqueryのを使用して、すべてのオプションを「再描画」することができ、その後私は、NG-モデルを使用することはできません、NG-変更私は、変更配列データの後にリフレッシュUIを起動するために何をすべき?
可能な場合はフィドルを投稿してください。私はあなたが 'var newElement = $( '#inputElementId')。val();'を使用していることも見ています。なぜ 'directive'または' 'binding'アプローチを使用していないのか、 Angularの主な利点です。 –
データ "送信"のために私は隠しフィールドを使用します。私のアプリはiframeで実行され、他のiframeのやりとり後にparent関数によってフィールドが設定されます。保存されたデータがメインウィンドウから角度アプリのiframeに移動した後、fancyboxによるフォームの読み込みページ。 –