Office js 在Office Web加载项中从命令向任务窗格触发事件

Office js 在Office Web加载项中从命令向任务窗格触发事件,office-js,excel-addins,excel-web-addins,Office Js,Excel Addins,Excel Web Addins,我正在使用React开发Office/Excel Web加载项,其中有一些功能区/上下文菜单按钮,需要更新任务窗格UI中的数据。以前我使用的是存储事件,它工作正常。但最近我转到了哪个停止的存储事件,因为现在命令和任务窗格都在同一个页面下工作,所以存储事件肯定不会按照定义触发。 我正在努力在共享Js运行时中找到任何可能的解决方案/事件,以便将一个事件从commands.Js激发到Taskpane/Component/App.Js文件。 请建议以下github repo演示了当您按下功能区按钮时更新

我正在使用React开发Office/Excel Web加载项,其中有一些功能区/上下文菜单按钮,需要更新任务窗格UI中的数据。以前我使用的是存储事件,它工作正常。但最近我转到了哪个停止的存储事件,因为现在命令和任务窗格都在同一个页面下工作,所以存储事件肯定不会按照定义触发。 我正在努力在共享Js运行时中找到任何可能的解决方案/事件,以便将一个事件从commands.Js激发到Taskpane/Component/App.Js文件。
请建议

以下github repo演示了当您按下功能区按钮时更新任务窗格的一种方法。


请解释为什么需要举办活动。如果您使用的是共享运行时,则功能区按钮和任务窗格共享相同的全局命名空间,不是吗?所以,这个按钮可以只更新一个全局数据对象。谢谢@RickKirkham的回复。假设任务窗格页面中有三个单选按钮,功能区中有三个按钮。当用户单击功能区按钮时,我需要在任务窗格中选中相应的单选按钮。可能是因为我在这个域中是新手。我的“command.js”,其中Ribbon button事件处理程序是一个简单的Javascript文件,而App.js是React组件类,其中我有单选按钮。请尝试以下操作:让Ribbon button set处理程序设置一个全局变量。在任务窗格中设置一个观察者模式,每隔十分之一秒检查一次该变量,查看其值自上次检查以来是否已更改。如果它已更改,请使用全局变量的新值更改React组件的状态。亲爱的@RickKirkham,我从您的评论中了解到的。我将Commands.js文件中的“getGlobal”函数导出如下:
export function getGlobal(){return typeof self!=“undefined”?self:typeof window!=“undefined”?window:typeof global!=“undefined”?global:undefined;}
然后将其导入App.js文件
import{getGlobal}来自“../../commands/commands”
但未编译并在生成时出错。/src/commands/commands.html 1:0模块解析失败:意外标记尚不清楚。在这个外接程序中,我们有一个JS文件,但最终专业应用程序将有单独的函数/命令/任务窗格文件,所以如果我们在真实场景中使用单独的文件访问它会更好。