【问题标题】:What is the best way to use Office ribbon commands with AngularJS app将 Office 功能区命令与 AngularJS 应用程序一起使用的最佳方式是什么
【发布时间】:2017-01-26 05:26:50
【问题描述】:

我有一个 Office 插件,它是在 ASP.NET MVC 4.5 之上使用 AngularJS (1.4) 构建的。我已经在 Angular 控制器和服务 JS 文件中实现了很多功能。

最近,我开始尝试使用 Office 功能区按钮和命令 (JS API 1.3)。我想从功能区按钮访问我的 Angular 文件($scope 或服务)中的 JavaScript 函数。最好的方法是什么?

【问题讨论】:

  • 最好的方法是拥有一段完全符合您要求的代码。创建时间尽可能短。有/永远不会有任何错误。并且不需要维护。它还应该具有最佳的用户体验。并完成测试覆盖。 en.wikipedia.org/wiki/SMART_criteria
  • 您是否要打开设置为特定 URL 的任务窗格?或者运行一个函数(什么类型的?它目前是如何集成的?)
  • 实际上,运行 Angular 控制器或服务中的 JS 函数。我可以通过 $scope 暴露它们。

标签: javascript angularjs office365 office-js


【解决方案1】:

您可能已经发现,Office JS API 1.3 引入的加载项命令(功能区按钮、菜单项)的设计目的是让每个命令启动自己的执行上下文并拥有自己的全局(窗口)对象。任务窗格中的主加载项应用程序的执行上下文不能直接从这些其他执行上下文访问。

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

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多