私はいくつか問題があります。選択AngularJsの問題
私の範囲で2つのオブジェクトがあります 1)
tasks:
12:
id: 12
user_id: 1
2)
users:
1:
id: 1
username: sergey
は、私は(この例では、それはセルゲイなければなりません)デフォルト値を選択レンダリングしようとしています:
<select class="form-control"
data-ng-model="tasks[task.id].user_id"
data-ng-change="setWorker(task.id)"
>
<option data-ng-repeat="user in users" data-ng-value="user.id" data-ng-selected="{[{user.id == task.user_id}]}">{[{user.username}]}</option>
</select>
しかし、2つのエラー(私の問題)で終わった: 1)私の選択のデフォルト値は空のオプション 2である)私の選択のように追加オプションO_Oがあります:サーバーの応答が約束を含むだったので、私は、起こっていると考え
<option value="? number:4 ?"></option>
まず。私は、例えば、toJSONですべての私のデータを、これを解決:私がしたい、タスクにuser_idを変更しようとして例えば、私のサーバーに自分のデータや成功したクエリを更新した後 :
$scope.users = data.toJSON();
はまた、私は第三の問題点を持っています私の範囲を更新し、私のようにそれを実行します。
$scope.tasks[taksId].user_id = userId;
その後、私は私自身の機能テストを()を実行したい、と私はウォッチャーを介してこれをやろうとしている:
$scope.$watch('tasks', function() {
$scope.test();
})
何も起こらなかった。何かお考えですか? = \代わりに、このようなng-options
を使用してng-repeat
試みを使用しての
'? number:4? 'partは内部的なもので、値(4)は数値型であるため、' ngModel'にバインドすると '$ scope.tasks [task.id] 'が得られます。 user.id === "4。'(文字列) –
だから、どうすればそれをエスケープできますか?私は、task_idのタスクからngModel my task.user_idにバインドしたいだけです。それはシンプルに見えるが、何も働かない。私はこの方法をさまざまな方法でレンダリングしようとしましたが、いつでも失敗しました( – Neversmile
'data-ng-selected =" {[{user.id == task.user_id}} "'を削除して'data-ng-init ="タスク[task.id] .user_id =(user.id == task.user_id)?user.id:tasks [task.id] .user_id "' –