繁体   English   中英

使用angularJs路由的firefox sdk附加组件

[英]firefox sdk add-on using angularJs routing

我使用此结构使用angularJs创建了一个小的chrome扩展

extension/
    statics/
         css/
         js/
           lib/
           app/
           api/
         img/
    views/ 
        partials/

所有包含angularJs功能的Js文件都位于js / app文件夹中,而与chrome API相关的所有文件都位于js / api文件夹中。 在清单json文件中

"default_popup": "popup.html#/popup"

帮助我调用弹出路径的控制器。 我可以更改“选项”标签的路线(在新标签中):

chrome.tabs.create({url: 'html/application.html#/welcome'});

我想了解如何为firefox中的弹出窗口定义路由,以便我可以重用此结构来创建firefox SDK附加组件。 你能告诉我怎么做吗?

我想我需要回答我自己的问题。
扩展名中的弹出窗口(我在docs中了解到的firefox和chrome)不会更改路由,除非您下次单击扩展名浏览器操作按钮再次将其打开,因此您不能使用多个路由和多个控制器。 如果需要对AngularJs的弹出视图进行双向绑定,则需要由单个控制器完成。 因此,我发现的唯一可行方法是手动调用控制器:

定义一个函数来调用控制器

app.invokeManually = function () {
  var $injector = angular.bootstrap(document, ['app']);       
  var $scope = angular.element('body').scope();
  $scope.$apply();
}

以身体为控制元素。 然后在弹出式正文的末尾调用此函数。

让我知道您是否有更好的主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM