javascript - 如何使用 angularJS 将数据从主窗口传递到 Chrome 应用程序中新创建的窗口?

标签 javascript windows angularjs google-chrome google-chrome-app

我目前正在创建一个 Chrome 应用程序只是为了娱乐和学习,然后我遇到了问题。在主窗口中,我创建了一个窗口,该窗口将显示您与您单击的名称的对话,但我不知道如何将数据传递到该新窗口。是否可以?如果那么的话,怎么样?这是我的代码。

    chrome.app.window.create('views/templates/chatWindow.html', {
        'bounds': {
            'width': window.screen.availWidth,
            'height': window.screen.availWidth
        },
        state: 'maximized',
        resizable: false
    });

请注意,我正在使用 AngularJS,并且我在 Windows 计算机上工作。

另外,我还有一个问题。这个新窗口有自己的 Controller ,那么,我如何获取传递的数据呢?

最佳答案

选项 1

chrome.app.window.create的回调函数给你AppWindow对象作为返回。 该对象具有 contentWindow 属性,它是新创建的窗口中的一个 window 对象。有了这个引用,您就可以在 document.body 对象上触发自定义事件并在 Controller 中处理它。

选项 2

使用 Angular NgRoute和 URL 的哈希来传递数据。例如,您可以执行以下操作:

chrome.app.window.create('views/templates/chatWindow.html#/client/1234' //...

然后使用路由器和同一应用程序的代码来处理 View 和操作。

关于javascript - 如何使用 angularJS 将数据从主窗口传递到 Chrome 应用程序中新创建的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27857605/

相关文章:

ruby - Windows 7 上 Ruby 和 Rails 的最佳环境?

javascript - AngularJS 将表达式传递给函数

javascript - 获取多边形的面积

javascript - 捕获视频并将其存储在服务器上?

javascript - childNodes 忽略某些节点

c# - 管理服务 : log user into desktop, 产生一个可以与桌面交互的进程

JavaScript 错误匿名函数

windows - 是什么导致磁盘上的驱动程序和映射到内存的驱动程序之间存在差异?

javascript - 使用路由/部分时如何在 AngularJs 上加载 js 和 css 文件?

javascript - 如何在一行而不是两行上获取使用 Angular Directive(指令)的多个元素