我有一个特殊的问题..我正在尝试使用angularjs在该窗口中打开一个包含内容和样式的新窗口。我可以使用以下标准方式打开窗口:
win.document.open();
win.document.write('FAQsOpening a new window');
win.document.close();
有没有办法让我可以避免使用它并使用角度路由器在html中嵌入css。请指教。我不喜欢使用document.write
。
由于
答案 0 :(得分:0)
创建组件或指令
angular.module('myModule').component('example', {
template: "<div class='muhClasses'> FAQsOpening a new window</div><div ng-click='$ctrl.click" class="button">click</div>"
controller: ['$window', function($window){
this.click = function(){
console.log('clicked');
$window.close();
};
}]
};
定义状态
$stateProvider.state('newwindow', {
url: '/window/',
component: 'example'
});
如果要打开新窗口,请执行
var mWindow = $window.open($state.href('newwindow', {}, {absolute: true});
这将打开一个新的应用程序窗口,其中包含应用程序中使用的所有样式。
之后,您可以使用对mWindow的引用来从中获取数据或其他内容。只是一个例子
var inputVal = mWindow.angular.element('#input').val();
只是一个想法,你确定你打算开一个新窗口吗? modal可能达到你想要的目的吗?