【问题标题】:New window with style using angularjs使用 angularjs 样式的新窗口
【发布时间】:2016-10-20 14:01:08
【问题描述】:

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

有没有一种方法可以避免使用它,而只使用角度路由器将 css 嵌入到 html 中。请指教。我不喜欢使用document.write

谢谢

【问题讨论】:

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


    【解决方案1】:

    是的,你绝对可以

    创建一个组件或指令

    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 可能实现您的目标吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      相关资源
      最近更新 更多