如果曾经尝试过按照bindingX官网的方式在weex中使用,就会发现不能实现自己想要的效果。通过在网上查阅资料,了解到weex中使用bindingX不能直接写表达式,sdk无法解析,因此需要一个表达式解析工具的帮助,即bindingx-parser,在我们的项目目录下执行用npm安装上这个插件之后即可使用它来解析bindingX的表达式了。使用方法如下:
首先使用npm安装bindingx-parser:npm install bindingx-parser
在js文件中引入bindingx模块,
var binding = weex.requireModule('bindingx');
在js或者Vue文件中引入import { parse } from 'bindingx-parser'
需要解析表达式的时候执行parse(exitExpression)即可。
Weex中使用bindingX的语法:
//指定元素在x轴上随着滑动的举例1:1移动
var expressionX=parse('x+0');
//透明度是从1到0.这里x是滑动的距离,x的绝对值除以600会逐渐接近于1,因此下面表达式的值逐渐接近于0.
var expression_property=parse('1-abs(x)/600');
var gesTokenObj = binding.bind({
anchor:card, //事件的引发者
eventType:'pan',//标识事件类型,这里是滑动事件
props: [
{
element:card, //需要更新UI的元素的引用
property:'transform.translateX',//需要变化的属性,这里是x轴
expression:expressionX //表达式
},
{
element:card,
property:'opacity',//需要变化的属性,这里是透明度
expression:expression_property
}
]
}, function(e) {
//事件的回调
});
bindingX的具体使用方法可以去官网自行学习一下:https://alibaba.github.io/bindingx/guide/introduce