Axure常用变量及使用方法详解

点击下载《Axure常用变量及使用方法详解.pdf》

摘要

Axure RP 作为一款领先的前端原型设计工具,提供了全面的 变量函数 系统,以支持复杂的交互设计和动态内容展示。本文将从专业角度详细解析 Axure 中的 全局变量中继器数据集变量/函数元件变量/函数页面变量/函数窗口变量/函数鼠标指针变量/函数数值处理函数字符串处理函数日期处理函数 以及 布尔值 的逻辑运算符。通过详细的示例和步骤说明,帮助读者全面理解和掌握这些关键功能,从而在原型设计中实现更高效、更灵活的交互效果。


1. 全局变量(Global Variables)

1.1 变量类型

  • [[GlobalVariableName]]:自定义全局变量,用于在整个原型中共享数据。

在这里插入图片描述

在这里插入图片描述

1.2 使用场景

  • 跨页面数据传递:在多个页面之间传递用户输入或计算结果。

    • 示例:

      在登录页面设置 userName,当用户输入用户名登录成功后,使用该变量保存用户输入的用户名,然后在其他页面展示当前登录的用户。

      <!-- 在主页显示 -->
      欢迎, [[userName]]!
      

在这里插入图片描述

  • 用户偏好设置存储:存储用户的偏好设置,如主题、语言等。

    • 示例:设置 [[theme]] 为用户选择的值,并在不同页面应用相应的主题。
  • 多组件共享参数:在多个组件之间共享参数,如筛选条件、排序方式等。

    • 示例:设置 [[filterCriteria]] 为用户选择的筛选条件,并在多个中继器中使用该变量。

1.3 注意事项

  • 命名规范:使用有意义的名称,避免使用保留字。
  • 作用域管理:全局变量在整个原型中共享,需谨慎使用以避免命名冲突和数据污染。

2. 中继器数据集(Repeater Dataset)

2.1 变量类型

  • [[Item.ColumnName]]:当前行中指定列的值。
  • [[TargetItem.ColumnName]]:目标行中指定列的值(用于条件判断或交互)。
  • [[Repeater]]:当前中继器对象,可用于访问中继器的属性和方法。

2.2 核心函数

函数描述示例
Item.Repeater当前项所属的中继器对象[[Item.Repeater.name]]
Item.index当前项的索引(从 1 开始)[[Item.index]]
Item.isFirst当前项是否为第一项[[Item.isFirst]]
Item.isLast当前项是否为最后一项[[Item.isLast]]
Item.isEven当前项的索引是否为偶数[[Item.isEven]]
Item.isOdd当前项的索引是否为奇数[[Item.isOdd]]
Item.isMarked当前项是否被标记[[Item.isMarked]]
Item.isVisible当前项是否可见[[Item.isVisible]]
Item.columnCount当前中继器的列数[[Item.columnCount]]
Item.rowCount当前中继器的总行数[[Item.rowCount]]

2.3 使用示例

  • 动态生成列表项:

    "[[Item.Name]]: [[Item.Description]]"
    

    在这里插入图片描述

2.4 注意事项

  • 数据集操作:通过 “设置数据集” 动作可以动态更新中继器数据。
  • 分页控制:使用 Item.rowCountItem.index 实现分页功能。

3. 元件变量/函数(Widget)

3.1 变量类型

  • [[This]]:当前元件对象。
  • [[Target]]:目标元件对象(用于交互中引用其他元件)。

3.2 核心函数

函数描述示例
this.text当前元件的文本内容[[This.text]]
this.x当前元件的 x 坐标[[This.x]]
this.y当前元件的 y 坐标[[This.y]]
this.width当前元件的宽度[[This.width]]
this.height当前元件的高度[[This.height]]
this.rotation当前元件的旋转角度[[This.rotation]]
this.opacity当前元件的透明度[[This.opacity]]
this.isVisible当前元件是否可见[[This.isVisible]]
this.isSelected当前元件是否被选中[[This.isSelected]]
this.scrollX当前元件的水平滚动位置[[This.scrollX]]
this.scrollY当前元件的垂直滚动位置[[This.scrollY]]

3.3 使用示例

  • 动态调整元件大小:

    // 设置元件宽度为 200px
    [[This.width]] = 200
    
  • 切换元件可见性:

    // 切换元件的可见性
    [[This.isVisible]] = ![[This.isVisible]]
    
  • 移动元件位置:

    // 将元件移动到 (100, 100) 坐标
    [[This.x]] = 100
    [[This.y]] = 100
    

3.4 注意事项

  • 动态更新:通过 “设置文本”“设置尺寸” 等动作可以动态更新元件的属性。
  • 事件驱动:元件变量常用于事件驱动的交互设计中。

4. 页面变量/函数(Page)

4.1 变量类型

  • [[PageName]]:当前页面的名称。

4.2 核心函数

函数描述示例
Page.width当前页面的宽度[[Page.width]]
Page.height当前页面的高度[[Page.height]]
Page.scrollX当前页面的水平滚动位置[[Page.scrollX]]
Page.scrollY当前页面的垂直滚动位置[[Page.scrollY]]
Page.url当前页面的 URL[[Page.url]]
Page.title当前页面的标题[[Page.title]]

4.3 使用示例

  • 显示当前页面名称:

    "当前页面: [[PageName]]"
    
  • 根据页面宽度调整布局:

    // 根据页面宽度设置背景颜色
    [[Page.width]] > 1200 ? "large-layout" : "small-layout"
    

4.4 注意事项

  • 页面导航:通过页面变量可以实现页面间的数据传递和导航控制。
  • 动态页面:适用于需要根据用户操作动态改变页面属性的场景。

5. 窗口变量/函数(Window)

5.1 核心函数

函数描述示例
Window.width浏览器窗口的宽度[[Window.width]]
Window.height浏览器窗口的高度[[Window.height]]
Window.scrollX当前窗口的水平滚动位置[[Window.scrollX]]
Window.scrollY当前窗口的垂直滚动位置[[Window.scrollY]]
Window.name当前窗口的名称[[Window.name]]
Window.top当前窗口的顶部位置[[Window.top]]
Window.left当前窗口的左侧位置[[Window.left]]

5.2 使用示例

  • 显示窗口大小:

    "窗口大小: [[Window.width]]x[[Window.height]]"
    
  • 根据滚动位置显示按钮:

    // 当滚动位置超过 100px 时显示按钮
    [[Window.scrollY]] > 100 ? "show-button" : "hide-button"
    

5.3 注意事项

  • 响应式设计:通过窗口变量可以实现响应式布局和动态调整。
  • 滚动控制:适用于需要根据滚动位置触发交互的场景。

6. 鼠标指针(Cursor)

6.1 核心函数

函数描述示例
Cursor.x鼠标指针的 x 坐标[[Cursor.x]]
Cursor.y鼠标指针的 y 坐标[[Cursor.y]]
Cursor.dragX鼠标拖动的水平距离[[Cursor.dragX]]
Cursor.dragY鼠标拖动的垂直距离[[Cursor.dragY]]
Cursor.totalDragX鼠标拖动的总水平距离[[Cursor.totalDragX]]
Cursor.totalDragY鼠标拖动的总垂直距离[[Cursor.totalDragY]]
Cursor.downTime鼠标按下持续的时间[[Cursor.downTime]]

6.2 使用示例

  • 显示鼠标位置:

    "鼠标位置: ([[Cursor.x]], [[Cursor.y]])"
    
  • 检测鼠标拖动:

    // 当拖动距离超过 50px 时执行操作
    [[Cursor.totalDragX]] > 50 || [[Cursor.totalDragY]] > 50 ? "drag-detected" : "no-drag"
    

6.3 注意事项

  • 交互触发:通过鼠标指针变量可以实现鼠标悬停、点击、拖动等交互触发。
  • 动态响应:适用于需要根据鼠标位置或状态动态改变元件属性的场景。

7. 数值处理(Number)

7.1 变量类型

  • [[LVAR1]]:数值型局部变量。

7.2 核心函数

函数描述示例
toFixed(decimalPlaces)将数字格式化为指定的小数位数[[NumberVar.toFixed(2)]]
toExponential(decimalPlaces)将数字转换为指数表示法[[NumberVar.toExponential(2)]]
toPrecision(precision)将数字格式化为指定的总位数[[NumberVar.toPrecision(5)]]
Math.abs()返回数字的绝对值[[Math.abs(NumberVar)]]
Math.ceil()返回大于或等于数字的最小整数[[Math.ceil(NumberVar)]]
Math.floor()返回小于或等于数字的最大整数[[Math.floor(NumberVar)]]
Math.max()返回一组数字中的最大值[[Math.max(num1, num2)]]
Math.min()返回一组数字中的最小值[[Math.min(num1, num2)]]
Math.random()返回 0 到 1 之间的随机数[[Math.random()]]
Math.round()返回四舍五入后的整数[[Math.round(NumberVar)]]
Math.sqrt()返回数字的平方根[[Math.sqrt(NumberVar)]]

7.3 使用示例

  • 计算总和:

    [[Math.round([[num1]] + [[num2]])]
    

在这里插入图片描述

  • 生成随机数:

    [[Math.random()]]
    

7.4 注意事项

  • 数据类型:确保参与运算的变量是数值类型,否则可能导致计算错误。
  • 精度控制:在处理浮点数时,注意精度问题。

8. 字符串处理(String)

8.1 核心函数

函数描述示例
length返回字符串的长度[[StringVar.length]]
concat(string)连接两个或多个字符串[[StringVar.concat("!")]]
indexOf(searchValue)返回子字符串首次出现的位置[[StringVar.indexOf("test")]]
lastIndexOf(searchValue)返回子字符串最后一次出现的位置[[StringVar.lastIndexOf("test")]]
replace(searchValue, replaceValue)替换字符串中的子字符串[[StringVar.replace("test", "sample")]]
slice(startIndex, endIndex)提取字符串的子字符串[[StringVar.slice(0, 5)]]
split(separator)将字符串分割成数组[[StringVar.split(",")]]
substr(startIndex, length)从指定位置开始提取指定长度的子字符串[[StringVar.substr(2, 3)]]
substring(startIndex, endIndex)提取两个指定位置之间的子字符串[[StringVar.substring(0, 5)]]
toLowerCase()将字符串转换为小写[[StringVar.toLowerCase()]]
toUpperCase()将字符串转换为大写[[StringVar.toUpperCase()]]
trim()去除字符串两端的空白字符[[StringVar.trim()]]

8.2 使用示例

  • 拼接字符串:

    [["Hello, " + [[userName]] + "!"]]
    
  • 截取字符串:

    [["Hello World!".substring(0, 5)]]
    

8.3 注意事项

  • 编码问题:处理多语言文本时,注意字符编码。
  • 格式化:根据需要格式化字符串以匹配特定需求。

9. 日期处理(Date)

9.1 变量类型

  • [[Now]]:当前日期时间。

9.2 核心函数

函数描述示例
getDate()返回日期中的日[[Now.getDate()]]
getDay()返回星期中的第几天[[Now.getDay()]]
getFullYear()返回四位数的年份[[Now.getFullYear()]]
getHours()返回小时[[Now.getHours()]]
getMilliseconds()返回毫秒[[Now.getMilliseconds()]]
getMinutes()返回分钟[[Now.getMinutes()]]
getMonth()返回月份[[Now.getMonth()]]
getSeconds()返回秒[[Now.getSeconds()]]
getTime()返回时间戳[[Now.getTime()]]
getTimezoneOffset()返回时区偏移量[[Now.getTimezoneOffset()]]
Date.parse(dateString)解析日期字符串[[Date.parse("2023-10-01")]]

9.3 使用示例

  • 显示当前日期:

    "当前日期: [[Now.getFullYear()]]年[[Now.getMonth() + 1]]月[[Now.getDate()]]日"
    

9.4 注意事项

  • 时区问题:处理跨时区应用时,注意时区的影响。
  • 格式转换:根据需要格式化日期和时间以匹配特定需求。

10. 布尔值(Boolean)

10.1 逻辑运算符

运算符描述示例
==等于[[num1 == num2]]
!=不等于[[num1 != num2]]
>大于[[num1 > num2]]
<小于[[num1 < num2]]
>=大于等于[[num1 >= num2]]
<=小于等于[[num1 <= num2]]
&&逻辑与[[(num1 > 0) && (num2 > 0)]]
``
!逻辑非[[!(num1 > 0)]]

10.2 使用示例

  • 条件判断:

    [[If([[userIsLoggedIn]], "已登录", "未登录")]]
    
  • 逻辑运算:

    [[If([[(num1 > 0) && (num2 > 0)]], "两者都大于零", "至少有一个不大于零")]]
    

10.3 注意事项

  • 逻辑正确性:确保逻辑运算符的使用符合预期。
  • 短路运算:了解逻辑运算符的短路特性,避免不必要的计算。

总结

Axure 提供了全面的 变量函数 系统,涵盖了从全局变量到布尔值的多种数据类型和操作函数。通过详细的分类和说明,本文全面介绍了 Axure 中各个类别所有的方法和变量,帮助读者在原型设计中更加得心应手。希望本文的内容能为你的 Axure 原型设计提供有价值的参考和指导。

点击下载《Axure常用变量及使用方法详解.pdf》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983508.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySql的安装及数据库的基本操作命令

1.MySQL的安装 1.1进入MySQL官方网站 1.2点击下载 1.3下拉选择MySQL社区版 1.4选择你需要下载的版本及其安装的系统和下载方式 直接安装以及压缩包 建议选择8.4.4LST LST表明此版本为长期支持版 新手建议选择红框勾选的安装方式 1.5 安装包下载完毕之后点击安装 2.数据库…

树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)

第一次开机详细步骤 步骤一&#xff1a;树莓派系统烧录1 搜索打开烧录软件“Raspberry Pi Imager”2 选择合适的设备、系统、SD卡3 烧录配置选项 步骤二&#xff1a;SSH远程树莓派1 树莓派插电2 网络连接&#xff08;有线或无线&#xff09;3 确定树莓派IP地址 步骤三&#xff…

分布式锁—7.Curator的分布式锁

大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphore源码 1.Curator的可重入锁的源码 (1)InterProcessMutex获取分布式锁 (2)InterProcessMutex的初始化 (3)InterProcessMutex.…

电脑睡眠智能管控:定时、依状态灵活调整,多模式随心选

软件介绍 今天要给大家介绍一款十分实用的软件——DontSleep&#xff0c;从名字就能看出&#xff0c;它的核心功能之一是阻止电脑进入睡眠状态&#xff0c;不过它的能耐可远不止于此&#xff0c;还具备强大的定时以及根据电脑实时状况灵活调整的功能。 这款软件采用绿色单文件…

装饰器模式--RequestWrapper、请求流request无法被重复读取

目录 前言一、场景二、原因分析三、解决四、更多 前言 曾经遇见这么一段代码&#xff0c;能看出来是把request又重新包装了一下&#xff0c;核心信息都不会改变 后面了解到这叫 装饰器模式&#xff08;Decorator Pattern&#xff09; &#xff1a;也称为包装模式(Wrapper Pat…

C++20 格式化库:强大的字符串格式化工具

文章目录 格式化语法常见用法1. 填充和对齐2. 数值格式化3. 进制格式化4. 自定义类型 示例代码注意事项 C20 的格式化库是一个强大的工具&#xff0c;用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能&#xff0c;但语法和用法更符合 C 的风格。以下…

Linux基础--文件权限+软件包管理+管道符

目录 基础权限 更改文件权限 使用命令:chmod 更改文件属主和数组 使用命令: chown 权限掩码 使用命令:umask 高级权限 软件包管理 使用命令: rpm 使用命令: yum 管道符&#xff0c;重定向 基础权限 文件基础权限表 符号含义数字r读权限4w写权限2x执行权限1 更改文件…

css画出带圆角平行四边形效果

使用css画出平行四边形效果如下图 HTML代码 <div class"badge"><span>营业中</span> </div> 关键代码&#xff1a; transform: skewX(-15deg); /* 让元素倾斜&#xff0c;形成平行四边形的视觉效果 */ 如果倾斜的元素里面需要放文字&…

postman接口请求中的 Raw是什么

前言 在现代的网络开发中&#xff0c;API 的使用已经成为数据交换的核心方式之一。然而&#xff0c;在与 API 打交道时&#xff0c;关于如何发送请求体&#xff08;body&#xff09;内容类型的问题常常困扰着开发者们&#xff0c;尤其是“raw”和“json”这两个术语之间的区别…

Gartner:数据安全平台DSP提升数据流转及使用安全

2025 年 1 月 7 日&#xff0c;Gartner 发布“China Context&#xff1a;Market Guide for Data Security Platforms”&#xff08;《数据安全平台市场指南——中国篇》&#xff0c;以下简称指南&#xff09;&#xff0c;报告主要聚焦中国数据安全平台&#xff08;Data Securit…

记录一次wifi版有人物联串口服务器调试经过

1、首先买了一个华为的wifi路由器&#xff0c;连接上以后&#xff0c;设置好网络名字和wifi密码 2、用网线连接串口服务器&#xff0c;通过192.168.1.1登录&#xff0c;进行配置 找到无线客户端配置&#xff0c;先在基本配置中打开5G配置&#xff0c;然后再去5.8G配置中设置 …

百货店的诞生与现代商业革命:结合开源AI智能客服、AI智能名片与S2B2C商城小程序的新视角

摘要&#xff1a;本文深入探讨了百货店作为现代商业革命的标志性事件&#xff0c;其出现对销售方式、经营方式、组织管理三个方面的根本性变革。同时&#xff0c;本文也展望了在数字化时代背景下&#xff0c;开源AI智能客服、AI智能名片以及S2B2C商城小程序等新兴技术如何为传统…

初学STM32之简单认识IO口配置(学习笔记)

在使用51单片机的时候基本上不需要额外的配置IO&#xff0c;不过在使用特定的IO的时候需要额外的设计外围电路&#xff0c;比如PO口它是没有内置上拉电阻的。因此若想P0输出高电平&#xff0c;它就需要外接上拉电平。&#xff08;当然这不是说它输入不需要上拉电阻&#xff0c;…

HPC超算系列3——新手指南2

可以参考我的上一篇博客&#xff1a; https://blog.csdn.net/weixin_62528784/article/details/146122850?sharetypeblogdetail&sharerId146122850&sharereferPC&sharesourceweixin_62528784&spm1011.2480.3001.8118 这一节主要是对上一节的一些内容的补充&…

Ubuntu20.04搭建gerrit code review

一、环境准备 1. 安装 Java 环境‌ Gerrit 依赖 Java 运行环境&#xff08;推荐 JDK 8&#xff09;&#xff1a; sudo apt install openjdk-11-jdk 验证安装&#xff1a; java -version ‌2. 安装 Git sudo apt install git ‌3. 可选依赖 数据库‌&#xff1a;Gerrit …

爬虫案例七Python协程爬取视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Python协程爬取视频 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 爬虫案例七协程爬取视频 提示&#xff1a;以下是本篇文章正文…

GB28181视频监控流媒体平台LiveGBS如何自定义收流端口区间以便减少收流端口数或解决端口冲突问题

LiveGBS GB28181流媒体服务在接收视频的时候默认是使用30000-30249&#xff0c; webrtc流播放端口区间默认是UDP的30250-30500区间。有些网络环境不方便开放这么大的端口区间&#xff0c;下面介绍下如何修改配置这个区间。 从页面上修改这个区间&#xff0c;端口区间尽量设置大…

从连接到交互:SDN 架构下 OpenFlow 协议的流程与报文剖析

在SDN架构中&#xff0c;交换机与控制器之间的通信基于 OpenFlow协议&#xff0c;其设计目的是实现控制平面与数据平面的解耦。以下是 交换机连接控制器 和 数据包进入交换机触发交互 的详细流程及协议报文分析&#xff1a; 一、交换机连接控制器的流程&#xff08;初始化阶段&…

每日一练之反转链表

题目&#xff1a; 画图解答&#xff1a; 方法&#xff1a;三指针 代码解答&#xff08;带解析&#xff09;&#xff1a; //题目给的结构体 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct Lis…

虚拟机总结| 关于虚拟机的一些配置总结

前言 每次安装新的虚拟机都需要重新在网上搜索如何配置网络&#xff0c;我需要写一个自己的部署步骤&#xff0c;增加工作效率&#xff0c;不用每次配置的时候再去网上去翻找。 1.只需要联网功能记录(不固定IP) 1.1 修改ifcfg-ens33 vi etc/sysconfig/network-scripts/ifcfg…