モーダルを処理するために ui-bootstrap を使用しています。スコープ パラメーターとして $scope を渡しています。次のようになります。
var modalInstance = $modal.open({
templateUrl: 'views/pages/gethelp/modals/bulk_change.html',
controller: BulkChangeCtrl,
size: 'lg',
scope: $scope,
backdrop:"static",
resolve: {
type: function() { return type; },
field:function() { return field; },
preset: function() { return preset; }
}
});
モーダル コントローラー内で、入力にバインドするだけでなく、ユーザーが送信を押したときに選択した値として使用する単一のモデル文字列値を定義しています。これは簡単で、次のようにセットアップされます。
$scope.val = "";
それでも、ボタンのクリックで呼び出される送信関数では、何があっても $scope.val は空です。関数が完全に異なるバージョンの $scope.val を参照しているようです。それでも、私の見解では、{{val}} に問題なくバインドできます。
どうしてこれなの?コードを次のように更新すると:
$scope.obj = { val:"" };
すべて期待どおりに動作し、{{obj.val}} にバインドできます。ここで完全に欠けているものは何ですか?