axure7.0教程_多值单变量的页面传值

时间:2022-11-30 18:43:17

今天这篇Axure教程,主要讲的是字符串函数的应用。在我们做一些Axure原型的时候,经常需要实现在两个或多个页面传递一些信息的效果,比如:将一件商品选择并点击购买按钮后,跳转到另一个页面中进行结算,这个时候就要把选中的商品信息在另外一个页面中显示。在Axure6.5中这种效果也可以实现,但是需要使用与信息数量相等的变量来实现,比如名称一个变量,价格一个变量,数量一个变量。Axure官方的建议在一个原型中变量不要超过25个,所以变量的资源是紧俏的,就好像我们痛恨有钱人搞二三四五六七八奶,其实你搞不搞我管不着,但是妹纸都让你一个人搞了,一个都不给我留我就不干了。变量也一样,一个模块占用了大量的变量,等其他模块有需求的时候发现没有了,就会想搞不上妹纸一样郁闷。所以,感谢天、感谢地、感谢Axure7,只要通过一个字符串函数,我们就能N个信息同时使用一个变量……好像有内涵…..,我是不是又邪恶了。

好了,闲话不多说,让我们来看看怎么来实现。

本教程使用的函数:substring和indexof

说明:substring用来截取字符串,indexof用来获取分隔符的位置。

本教程示例原型下载:axure7.0教程_小楼作品(十六)多值单变量的页面传值.rp

首先,还是准备元件:

1、  准备三个文本框,分别设置好标签xingming、xingbie、nianling;

2、  准备好一个按钮,用来触发事件;

3、  打开跳转页,放进去一个2行3列表格,第一行写上数据名称,第二行的三个单元格分别写好标签,准备接受数据。

4、  将表格转换为动态面板,因为要用到动态面板的加载事件,避免使用页面加载事件。

元件准备完毕,就直接开始制作了,这个是技术活,不需要思路。

1、  我们新增一个变量叫xinxi,然后在按钮的onclick事件中设置这个变量的值,我们需要把三个文本框的值都赋给这个变量,这时候就需要在fx里面设置3个局部变量(局部变量只在单个事件范围内有效,对全局无影响),来获取这3个文本框的值,并把三个局部变量掉取出来,和分隔符一起组成一个字符串。如图所示,我们在三个局部变量中间插入了2个分隔符|1|和|2|,分隔符是自定义的,只要不与局部变量值相同就可以。

axure7.0教程_多值单变量的页面传值axure7.0教程_多值单变量的页面传值

axure7.0教程_多值单变量的页面传值

2、  设置完变量的值后,再添加一个跳转到列表页的事件。

3、  在动态面板的加载事件中添加事件,来分解字符串,并将分解出来的字符串添加到不同的单元格。

分解过程:

我们知道变量里的字符串结构是:xingming值|1|xingbie值|2|nianling值

第一个单元格的文字,我们需要取到xingming值,在这里我们使用substring进行截取,

Substring(from,to)的两个参数分别是截取的起始位置和截取的最终位置+1,我们知道字符串的起始位置是0,但是最终位置就难以确定,因为每次输入的值得长度都可能不一样,所以这里我们需要用到indexof通过确定分隔符的位置,来确定截取的位置。

Indexof的使用方法,变量.indexof(’字符串参数’),一定要有两个单引号,否则会出错。

axure7.0教程_多值单变量的页面传值

如图所示:

Ximing值截取的位置:0,xinxi.indexof(‘|1|’)

Xingbie值截取的位置:xinxi.indexof(‘|1|’)+3,xinxi.indexof(‘|2|’)

说明:起始位置+3是因为要从|1|之后的位置开始截取,而xinxi.indexof(‘|1|’)的位置是|1|中前面那个竖线的位置,所以要在取到的位置上+3。

Nianling值得截取位置:xinxi.indexof(‘|2|’)+3

说明:使用substring截取字符串,如果只输入一个参数,意思就是从输入的参数的位置一直截取到末尾。

最后我们就把上面的这三组参数都分别放在xinxi.substing(,)中,并添加到相应的单元格:

单元格xingming文字= [[xinxi.substring(0, xinxi.indexof(‘|1|’))]]

单元格xingbie文字= [[xinxi.substring(xinxi.indexof(‘|1|’)+3, xinxi.indexof(‘|2|’))]]

单元格nianling文字= [[xinxi.substring(xinxi.indexof(‘|2|’)+3))]]