0
同じコントローラを使用するモーダルでは双方向バインディングが動作しないのはなぜですか?ブートストラップモーダルangleJsで双方向バインディングが機能しない
私はコントローラにあるngモデルを使用してモーダルを持っていますが、モーダル上のデータを変更するたびにコントローラでは変更されません。
コントローラー:createEventControllerオブジェクトを保持
$scope.newEvent =
{
"name": "",
"location": "",
"latitude": "",
"longitude": ""
"taxoption":
{
"country": "",
........
ビュー:
注NG-モデル= "newEvent.taxoption.country"
<div ng-controller="createEventController" class="modal fade" id="ticketTaxModal" tabindex="-1" role="dialog" aria-labelledby="TicketTaxForm">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Tax Options</h4>
</div>
<div class="modal-body" style="text-align: left;">
<div class="form-horizontal">
<div class="form-group">
<label for="country" class="col-sm-2 control-label">Country</label>
<div class="col-sm-10">
<select id="country" ng-model="newEvent.taxoption.country" class="form-control">
<option value="CAN">Canada</option>
<option value="USA">United States</option>
</select>
</div>
</div>
..............
モーダル指令:
directive("ticketTax", [function(){
return{
restrict: 'E',
templateUrl: 'app/partials/create/ticketTaxModal.html',
link: function(scope, elem, attrs){
}
}
}]);
データをモーダルからコントローラに渡すにはどうすればよいですか?同じコントローラーがモーダルに割り当てられているので、なぜ2方向バインドが機能しないのか分かりません。インスタンスと何か?
あなたの指示に 'require: 'ngModel'、'を追加し、コントローラー(scope、elem、attrs、ctrl)を保持するリンク関数に4番目の引数を追加してアクセスすることによってコントローラーを必要としている可能性があります。モーダルにそのようなディレクティブを使用している場合は、モデルを更新するためにウォッチャーを手動で設定する必要があると思います。 – Vaelyr