如何优雅地部署office-[Visual refresh] 手动开启/关闭 Office 的新界面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何优雅地部署office-[Visual refresh] 手动开启/关闭 Office 的新界面相关的知识,希望对你有一定的参考价值。

参考技术A 微软在很早之前就针对 Windows 11 开发了 Office 的新界面,我们暂时将其称为「视觉刷新」。

其实我很早就发现了这个新的界面,但我并没有很注意(因为那次我重装了office 2021 LTSC-批量许可证,突然就换了新界面)

后来发现了,想写这篇文章,但又一直忘记。

最近俄乌关系极差,所以这两天一直在分享俄乌关系。

接下来分享一下如何不重装office而使用新界面。

第一,请确保使用的是最新版本的 Office Tool Plus,旧版本没有这个新功能。

第二,打开office tool plus选择部署

第三,如果是 Microsoft 商店版本的 Office,将部署模块从 Office 部署工具更改为 Office Tool Plus.(普通版请跳过这一步)

第四,左边那排拖到最底下,选择应用程序首选项这栏,然后搜索 refresh,就可以找到各个程序的设置,每个应用的设置是分开的。

如果需要开启,全勾选即可,关闭全部取消勾选。之后点击「应用」即可。

16.如何优雅地获取跨层级组件实例(拒绝递归)

跨层级的获取组件实例
技术图片
如果是普通的元素,ref="p"获取的是真实的dom元素,如果是自定义组件,那么获取到的就是这个组件的实例了。
this.$ref.XXXX可以获取当前组件上下文的实例。如果说要获取跨层级的组件的实例?那就很不方便了。
如果要获取父组件的,可以通过parent.refs.
获取子组件的children.refs
如果层级多的时候,10级20级别的。那就很不方便了。

如果A组件要访问E组件的实例。或者是F要访问A组件的实例。第一种想法可能是通过递归的方式一直层级的网上找parent。一层层的去查找目标实例,
技术图片
递归繁琐,而且性能低效。每次访问实例都要走一遍递归的形式,因为你的实例是不能被缓存 的,然后你底层的子组件的实例,如果被更新了。你父组件是不能及时的知道它这个实例是更新了。所以说你每次使用的时候,都需要层级的去获取。就是你没有办法去缓存。

争对这种情况设计了一种更加高效的方案。。如果你熟悉react ref它是一个call back回调的形式,这样我们在回调中就可以做很多的事情,就比较灵活了。
争对这种回调灵活的特点,我们可以设定一种主动通知,主动获取这样一种方案。
加入A要获取E的实例,A只需要提供一个钩子函数,E实例生成或者更新之后,主动的去调用这个沟子函数,来通知A节点,我这个实例已经生成好了。我这个实例有更新,只需要告诉这个A节点,A节点将这个实例进行缓存就可以了。然后每次A节点需要访问的时候,它总是能拿到最新的 ,因为E节点更新的时候已经主动的告诉了A节点。
如何实现callback的 ref就成了我们一个新的难点,
技术图片

看demo

还是和上一节的结构是一致的。
技术图片
点击获取到了E节点
技术图片
F节点可以跨层级的获取到A节点。
技术图片
技术图片
A节点通过provide提供了主动通知和主动获取的几个钩子函数,
技术图片

技术图片
get就是直接去获取name的ref
技术图片
子节点是如何调用setChildrenRef,通过inject注入,然后通过v-ant-ref的形式,通过这样一个指令,这个指令是我们自己去开发的,把它变成一个回调的形式。
每次childrenH更新或者实例化完成的时候,都会主动的调用我们的回调.主动通知上层的节点。去告诉他,我节点更新了。 
技术图片
为什么叫做v-ant-ref 以内vue 1.0的版本有v-ref这样一个指令,为了防止和以后的指令冲突。

v-ant-ref就是一个自定义的指令
技术图片
bind的时候,绑定的时候,,把我们的实例,调用这个回调。传递过去。
技术图片
更新的时候,把新的实例主动告诉上层的节点。
技术图片
F节点,只需要注入getParentChildrenRef,这个名字可以随便取
技术图片
这就是我们说的如何优雅的去获取跨层级的组件,避免了使用回调,充分利用缓存机制,避免去执行递归的方式,

 课后习题


技术图片

 

结束



 

以上是关于如何优雅地部署office-[Visual refresh] 手动开启/关闭 Office 的新界面的主要内容,如果未能解决你的问题,请参考以下文章

Vue 开发实战基础篇 # 13:如何优雅地获取跨层级组件实例(拒绝递归)

有没有办法通过Visual Studio菜单/工具栏优雅地关闭正在运行的应用程序?

如何优雅地将Jenkins和Kubernetes集成

优雅地使用 VSCode 来编辑 vue 文件

如何从 Visual Studio C# 使用 Office?

如何优雅地删除Docker镜像和容器(超详细)