Нет способа [прямолинейного] превращения нового окна в одно приложение angular.js, поскольку угловое приложение обычно привязывается к документу, окну и событиям окна, в котором оно было инициализировано либо через ng-app или вызовом angular.bootstrap.
Однако вы можете создать новый угловой модуль и приложение для всплывающего окна. Вы можете использовать одни и те же базовые службы и контроллеры из вашего исходного приложения, включив соответствующие файлы javascript.
Предполагая, что вашему всплывающему окну нужны данные из исходного приложения, вы можете передать это с помощью объекта window, возвращаемого из метода window.open(). Например, в рамках первого углового приложения, откройте всплывающее окно следующим образом:
angular.module('originalModule').service('popupService', function(someOtherDataService) {
var popupWindow = window.open('popupWindow.html');
popupWindow.mySharedData = someOtherDataService.importantData;
});
После того, как ваш вторичный «всплывающее окно» Угловая инициализации приложения, он может ссылаться на общие данные, читая window.mySharedData.
Вы также можете создавать функции в каждом окне, которые могут быть вызваны из другого окна. Всплывающее окно может вернуться в исходное окно с помощью свойства window.opener. (window.parent относится к родительскому окну кадров, вы хотите window.opener)
[Согласен, я уверен, что если бы вы изучили угловой исходный код, вы могли бы найти какой-нибудь умный способ использовать одно и то же угловое приложение для оба окна. Такая попытка выходит за рамки моих амбиций в этот вечер.]
Вам нужно открыть новое окно? Или будет что-то вроде модального окна, где вы можете ввести область. http://angular-ui.github.io/bootstrap/#/modal. Запуск экземпляра нового окна с той же областью может стать очень грязным. –
Если вы открываете новое окно, у вас есть полный html. Итак, вам нужно другое объявление 'ng-app'. –
привет, нет, я не могу использовать модальное окно, я пытаюсь отобразить таблицу с большим количеством строк, модальное окно сделает UI выглядеть супер уродливым. – phamductri