コントローラーで $scope スープを回避するために controllerAs 構文を使用し、モーダル ビューを表示するために ui.bootstrap も使用しています。
現在のコントローラーと同じスコープを共有する modalInstace を開く必要があります。スコープを注入するときは、おそらく次のようなことができます。
var modalInstance = $uibModal.open({
templateUrl: 'addEditModal.html',
scope: $scope
});
ただし、スコープを挿入せず、controllerAs 構文を使用しているため、機能しません。
私が見つけたものから、データを渡すには resolve を使用する必要がありますが、関数を介して明示的に渡す必要があります。スコープ全体を渡す方法はありますか?
そのモーダルでやらなければならないことがたくさんあり、大量のデータを渡すのはやり過ぎのようです。
面倒だからやりたくない…
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
resolve: {
user: function() {
return vm.user;
},
something: function() {
return vm.something;
},
blah: function() {
return blah;
}
}
});
より良いアイデアはありますか?