diff --git a/src/modal/docs/readme.md b/src/modal/docs/readme.md index 573b2510f6..58cec60fd8 100644 --- a/src/modal/docs/readme.md +++ b/src/modal/docs/readme.md @@ -8,6 +8,7 @@ The `$modal` service has only one method: `open(options)` where available option * `scope` - a scope instance to be used for the modal's content (actually the `$modal` service is going to create a child scope of a provided scope). Defaults to `$rootScope` * `controller` - a controller for a modal instance - it can initialize scope used by modal. Accepts the "controller-as" syntax in the form 'SomeCtrl as myctrl'; can be injected with `$modalInstance` * `controllerAs` - an alternative to the controller-as syntax, matching the API of directive definitions. Requires the `controller` option to be provided as well +* `bindToController` - when used with `controllerAs` & set to `true`, it will bind the controller properties onto the `$scope` directly * `resolve` - members that will be resolved and passed to the controller as locals; it is equivalent of the `resolve` property for AngularJS routes * `animation` - set to false to disable animations on new modal/backdrop. Does not toggle animations for modals/backdrops that are already displayed. * `backdrop` - controls presence of a backdrop. Allowed values: true (default), false (no backdrop), `'static'` - backdrop is present but modal window is not closed when clicking outside of the modal window. diff --git a/src/modal/modal.js b/src/modal/modal.js index 7d91190e5c..67a7c60559 100644 --- a/src/modal/modal.js +++ b/src/modal/modal.js @@ -464,7 +464,11 @@ angular.module('ui.bootstrap.modal', []) ctrlInstance = $controller(modalOptions.controller, ctrlLocals); if (modalOptions.controllerAs) { - modalScope[modalOptions.controllerAs] = ctrlInstance; + if (modalOptions.bindToController) { + angular.extend(modalScope, ctrlInstance); + } else { + modalScope[modalOptions.controllerAs] = ctrlInstance; + } } } diff --git a/src/modal/test/modal.spec.js b/src/modal/test/modal.spec.js index 4d9ea9d699..3dfd6c5654 100644 --- a/src/modal/test/modal.spec.js +++ b/src/modal/test/modal.spec.js @@ -440,6 +440,14 @@ describe('$modal', function () { }, controllerAs: 'test'}); expect($document).toHaveModalOpenWithContent('Content from ctrl true', 'div'); }); + + it('should allow usage of bindToController', function () { + open({template: '