使用angularjs的样式的新窗口

时间:2016-10-20 14:01:09

标签: javascript angularjs angularjs-directive angularjs-scope angular-ui-router

我有一个特殊的问题..我正在尝试使用angularjs在该窗口中打开一个包含内容和样式的新窗口。我可以使用以下标准方式打开窗口: win.document.open(); win.document.write('FAQsOpening a new window'); win.document.close();

有没有办法让我可以避免使用它并使用角度路由器在html中嵌入css。请指教。我不喜欢使用document.write

由于

1 个答案:

答案 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可能达到你想要的目的吗?