nvue 能否使用 css 动画或其他的方式实现动画?
贰三三
- 发布:2019-12-16 20:11
- 更新:2021-04-30 11:51
- 阅读:4526
测试正常
<template>
<view class="page">
<list ref="list1" class="list">
<cell v-for="(item, index) in dataList" :key="item.id">
<view class="list-item">
<text>{{item.name}}</text>
</view>
</cell>
</list>
<view ref="block" class="block"></view>
</view>
</template>
<script>
export default {
data() {
return {
dataList: []
}
},
onReady() {
for (var i = 0; i < 30; i++) {
this.dataList.push({
id: i,
name: i
});
}
const modal = weex.requireModule('modal')
modal.toast({
message: 'hello world'
})
setTimeout(() => {
this.bind();
}, 300)
},
methods: {
bind(e) {
const Binding = weex.requireModule('bindingx');
Binding.bind({
eventType: 'scroll',
anchor: this.getEl(this.$refs.list1),
props: [{
element: this.getEl(this.$refs.block), //动画元素
property: 'opacity', //动画属性
expression: '1-y/400' //表达式 说明了y从0-400,对应的值是1-0
},
{
element: this.getEl(this.$refs.block), //动画元素
property: 'transform.scale', //动画属性
expression: 'y<200?1+y/200:2-(y-200)/200' //说明了y从0-200,对应的值是1-2
}
]
});
},
getEl(e) {
return e.ref;
}
}
}
</script>
<style>
.page {
flex: 1;
flex-direction: column;
}
.list {
flex: 1;
background-color: lime;
}
.list-item {
padding: 20px;
border-width: 1px;
border-style: solid;
border-color: #007AFF;
}
.block {
position: fixed;
left: 0;
top: 0;
width: 100px;
height: 100px;
background-color: red;
}
</style>
贰三三 (作者)
好的,谢谢
2019-12-17 09:39
贰三三 (作者)
内个,请问,
在 compilerVersion = 3 下,nvue 页面貌似无法使用 weex.requireModule() ?
试了下
const modal = weex.requireModule('modal')
modal.toast({
message: 'hello world'
})
与
const animation = weex.requireModule('animation')
animation.transition(...)
在真机调试下和打包下都没有效果诶,没有报错但也没有效果(
hbuilderx 版本 2.4.7.20191216-alpha
2019-12-17 11:43
c***@163.com
app不生效
2021-03-21 17:48