2016-09-26 31 views
2

最好的方式,我有一个Office加载,这是建立与ASP.NET MVC 4.5的顶AngularJS(1.4)。我已经在Angular控制器和服务JS文件中实现了很多功能。什么是使用Office功能区的命令与AngularJS应用

最近,我开始与Office功能区按钮和命令(JS API 1.3)进行试验。我想从功能区按钮访问我的Angular文件($ scope或service)中的JavaScript函数。什么是最好的方式来做到这一点?

+0

做到这一点,最好的办法是有一段代码,不正是你想要什么。尽可能短时间创建。有/将永远不会有任何错误。并且不需要维护。它应该也有最好的用户体验。并完成测试覆盖。 https://en.wikipedia.org/wiki/SMART_criteria –

+0

您是否正在打开设置为特定URL的任务窗格?或者运行一个函数(什么类型?目前如何集成?) –

+0

实际上,运行Angular控制器或服务中的JS函数。我可以通过$ scope暴露他们。 –

回答

2

正如你可能已经发现,与Office JS API 1.3引入了加载命令(区按钮,菜单项)被设计成每一个推出其自己的执行上下文,并拥有自己的全球(窗口)对象。无法从这些其他执行上下文直接访问任务窗格中主要加载项应用程序的执行上下文。

有一两件事你可以尝试是使用本地存储,可以在两个上下文之间的信息。还有就是如何做到这一点Sharing data across windows using localStorage的概述。基本上,你的加载项命令在localStorage中留下一条消息请求一个动作。您的任务窗格应用程序响应存储事件,读取消息并执行请求的操作。

相关问题