wxml文件:
<view class="myView" wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName" animation="{{itemName.animationData}}">
</view> js文件:
data: {
array: [
{
animationData: 'anim1'
},
{
animationData: 'anim2',
}
]
}具体动画balabala。。。。 然后动画就不触发了 ..T0T.. 如果我老老实实的不用循环,而是写两个view,分别在里面写animation="{{anim1}}"和animation="{{anim2}}",动画是可以成功的... 所以我就想问一下 animation="{{xxx}}" xxx我想用个变量表示行不行?
你export的时候设上去就行了啊,为啥要换变量呢
this.setData({
animationData: anim1.export()
})
this.setData({
animationData: anim2.export()
})
this.setData({
animationData: anim3.export()
})
可能是我没表述清楚 。。 我的疑问就是:为什么我在循环里写animation="{{itemName.animationData}}" ,和我分别写两个view里写animation="{{anim1}}" animation="{{anim2}}" 是不一样的。 他并不认为{{itemName.animationData}}代表anim1 和 anim2. 后面setData动画的export什么的 我都封装到别的方法里去了。
不能。。不能是变量的变量。。
animation="{{item.animationData}}"
list[index].animationData = anim1.export()
或者
let export = anim1.export()
list[index].animationData = export
然后setData
明白了就是不能是变量的变量 。所以只能先把名字都取好了 一个一个写 不能在循环里实现不同组件的不同动画了
可能会有简单的方法,不过需要看到你的页面了才行
我咋觉得你给数组里动画赋值的时候没用setData()呢
具体动画和setData 我都写在另一个fuction 里了,没有贴上来
可以啊。。你变量控制用那个呗 animation="{{isAnimate ? anim1 : anim2}}"
嗯,这样是可以哒,如果比两个还多,还有anim3和anim4 怎么办哇
= =四元表达式。或者你页面上写 wx:if wx:elif判断
哈哈 ,这个可以,就是不知道具体要判断多少个,不过也够用了
emmmmmm
这种情况用数组呀 data: { animations: [ anim1,
anim2, .... ] }animation="{{animations[index]}}" 控制index就好