【喂饭】MVA-S05 Labview顶级框架 MVA 嵌套启动与监视器
导语:
MVA-S04中,我们学会了如何进行弹窗的使用,如何自定义弹窗。但是,弹窗有个问题,它是无法使用订阅与发布的。本期将会讲解如何嵌套启动,并可以进行订阅与发布。
📑 文章目录
🔹 1. 嵌套启动Viewable与订阅
🔹 2. 嵌套启动ViewManager与值更新
🔹 3. 启动监视器
🔹 4. 入门总结
1. 嵌套启动Viewable与订阅
1.1新建虚拟文件夹MVA-S05 嵌套启动与监视器。程序可以使用自己的版本,也可以公众号后台发送【MVA】自动获取。

1.2我们打开我们上下双子面板_ViewManager。新增一个按钮,就叫Random 弹窗。注册该控件值改变事件。


1.3 其余的按钮保持不变,还是直接值更新给ViewModel,Random 弹窗分支,需要嵌套启动一个新的Actor,并实现订阅。

常规的做法就是直接使用嵌套启动即可,但是这样子我们会出现两个问题,一是无法使用中介者进行数据的订阅与发布,二是无法正常的退出。这里就不演示了。我们直接操作。
我们右击上下双子面板_ViewManager查看其父类,可以找到一个Vi,叫Launch Nested Views.vi

这个Vi也是不能直接用的。这个是ViewManager自动启动配置好的Views使用的启动器。这个Vi将所有的view索引出来第一步就进行了中介者地址分享,分享成功之后,进行了嵌套启动,最后把启动后的Viewnames与对于的引用保存下来。那么仿造这个方法,我们完全也可以这样,实现嵌套。

但是有一个问题就是,如何如何把嵌套启动之后的内容信息也保存下来,而不是直接覆盖掉。这里需要使用Read Nested Viewable Enqueuers.vi先把已有的信息获取出来,一起创建数组再写回去。


1.4 启动器复制一个最新的就行,不需要修改什么?启动点击Rondom 弹窗看看效果。

我们默认是订阅Sine Number的数据。这里为了演示,忽视过去数据置T。

2. 嵌套启动ViewManager与值更新
2.1我们还记得文件树是一个ViewManager,我们直接把它变成一个嵌套启动。
改动Launcher,把一开始的文件树配置部分剪切到上下双子面板A_ViewManager的接收值改变事件中,把它整体作为一个View进行嵌套启动即可



1.2 OK,稍微修改了一下路径,绝对改成了相对。其余的部分和加载View一样,因为viewManager本身就是View的子类。启动看看效果

成功弹窗与正常退出与占用。并且可以正常发送打开值改变被订阅。
3. 启动监视器
3.1 MVA框架自带监视器,我们来看看如何使用。首先上下子面板_ViewManager的前面板增加一个按钮Debug,注册值改变事件。

3.2 修改Launcher,增加监视器。需要用到这个监视器构造。


3.3 我们监控到上下子面板_ViewManager的前面板的Debug按钮值改变的时候,发送Debug消息,数据为T

3.4 我们启动Launcher

ok,可以正常的打开监视器与无占用退出。
4. 总结
MVA的基础使用已经全部结束了。每一个SXX系类其实里面的量都很大。我把同类的内容都变成了一个大章。通过前面五个章节的学习,你可以得到一个体会,再也不想使用QDM以及其他的Actor框架了,因为MVA 优雅。
试读已结束,解锁完整内容与工程源码
本文包含 LabVIEW MVA 框架完整实战源码包、架构逻辑导图与核心技术细节。升级会员即可解锁全站 VIP 专栏!
觉得文章不错?点个赞支持一下博主吧!


💬 极客讨论区 (0)
欢迎发表技术见解、解耦思路或留言交流
还没有人发表评论,快来抢占沙发吧!