我使用带有此结构的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加载项。 请你告诉我怎么样?
答案 0 :(得分:3)
我想我需要回答我自己的问题 扩展中的弹出窗口(我在文档中读到的firefox和chrome)不会改变路由,直到您下次点击扩展浏览器操作按钮再次打开它,这样您就不能使用多个路由和多个路由控制器。如果您需要对AngularJs中的弹出视图进行双向绑定,则需要通过单个控制器执行此操作。 所以,我找到的唯一工作方法是手动调用控制器:
定义一个调用控制器的函数
app.invokeManually = function () {
var $injector = angular.bootstrap(document, ['app']);
var $scope = angular.element('body').scope();
$scope.$apply();
}
假设身体为控制元素。然后在弹出框体的末尾调用此函数。
如果你有更好的主意,请告诉我。