最新消息:

Axure监听器之全局变量监听器

Axure中级教程 Jorkin 370浏览

引言:

在Axure的使用过程中,我们有时需要在不同页面之间传递数据,通常是使用全局变量,但是如果需要与内联框架页面进行实时的数据传递,就必须知道一个全局变量的值是否改变。

正好前些天,有人在我的QQ群558143802《最InのAxure-疑难杂症》里询问:”有人知道怎么在axure内联框架页面中打开当前页面的动态面板么?“

那么我们就利用全局变量监听器来实现一下。

原理:

我们需要利用动态面板的“状态改变时”交互来实现全局变量的监听。

教程:

第一步:我们在项目里新建一个默认值为0的state全局变量:

第二步:建两个页面,一个是主页面,一个是内联框架页

第三步:在内联框架页里拖出3个按钮,值分别为1、2、3,点击时交互为设置全局变量state为[[This.Text]]

第四步:在主页面里拖出一个动态面板,一共三个状态,状态名称分别为State1、State2、State3,内容随便放。

第五步,在主页面里再拖出一个动态面板,起名Listener,一共两个状态,做为我们的监听器。

第六步,添加Listener的状态改变时交互

文明说明如下:

  • 状态改变时交互
    • 改变了
      • 如果全局变量state不等于0了
        • 就改变动态面板的状态为State[[state]]
        • 将全局变量改回0
    • 继续监听
      • 注意:这里需要右键把Else if true改为If true
        • 等待200毫秒(这个可自定义)
        • 继续改变当前面板状态

第七步,添加Listener的载入时交互:切换到动态面板的下一个状态并且向后循环

这样,我们的监听器就做好了。

简化:

其实如果你的页面只有一个动态面板,那么可以不要Listener,直接把监听逻辑写在同一个动态面板的“旋转(ROTATE)”或者”移动(MOVE)“交互里,在加载时(LOADED)触发一下。

为什么我这里写“简化”而不是“优化”呢?是因为“单一职责原则”,是谁的活就让谁干而已,具体实现看个人喜好吧。

演示:

https://5gn5xg.axshare.com/#id=7aaj7h&g=1

下载:

Axure监听器之全局变量监听器.rp

如果觉得我的教程做的不错呢,欢迎关注、收藏、转发、捐赠,谢谢。

原文链接:Axure监听器之全局变量监听器

转载请注明:最InのAxure » Axure监听器之全局变量监听器