我使用此结构使用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();
}
假设主体为控制元素。然后在弹出式正文的末尾调用此函数。
让我知道您是否有更好的主意。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句