我有一个绑定定义如下:
<xforms:bind nodeset="instance('demo')/pointer"
type="xforms:integer"
calculate="
if($current-page < '2') then '0'
else (
if($current-page > '2')
then ($max-pages - 1)
else .
)"/>
对于每个用户点击表单,current-page
值都会更改。我想了解上面绑定定义的计算执行的频率是多少?
问题是pointer
变量和current-page
是相互依赖的,所以如果我先点击某些内容,应立即评估pointer
的值,并在下一个指令我必须根据更改的指针值设置current-page
值。点击后,代码如下:
<xforms:setvalue ref="$pointer"
value="($pointer + 1)"/>
<!-- i am assuming if the current-page is 2,
it will increment, else the value is set as per calculate -->
<xforms:setvalue ref="$current-page"
value="($current-page + 1)"
xxforms:if="($pointer = $max-pages)" />
答案 0 :(得分:1)
xforms:setvalue
的按钮(假设它是一个按钮)时,首先运行xforms:setvalue
,然后运行xforms:bind calculate
。xforms:bind calculate
被重新评估。