weex中animation可以通过动态Id来获取元素吗?

本人有这样一个列表:

 rows:[
    {id:1,reason:'操作失误(商品、地址选错),重新拍'},
    {id:2,reason:'付款遇到问题'},
    {id:3,reason:'重复下单/误下单'},
    {id:4,reason:'其他渠道价格更低'},
    {id:5,reason:'我不想买了'},
    {id:6,reason:'其他原因'},
],

通过repeat,得到的页面效果是这样的

clipboard.png

因为每个reason对应一个ID,所以我想animation 获取target的时候可不可以用这个id呢?经过几次操作以后发现无法使用,代码报错。

<div class="reasonBox flex-row" repeat="item in rows" rownumber="{{item.id}}" id="{{item.id}}" onclick="chooseReason">
        <text class="font-30 text-height80">{{item.reason}}</text>
    </div>

看了demo的例子,id都是写死的形式—— var testEl = this.$el('test')

请问各位 this.$el('xxxx') 这个XXXX的值可以是数组里的数据吗?

阅读 3.1k
2 个回答

可以的, 这只是个字符串 id,你可以通过任何方式拿到它并将它传给 this.$el. 比如,如果你的逻辑是在 click 的回调里执行,你可以通过 onclick="chooseReason(item.id, $event)" 把 id 传进去。

我去查了下~看 weex 官方文档里面用的是this.$refs来获取指定组件的。
Vue 中,ref 是用来引用指定 DOM 元素或者组件的,而 el 指向的是 Vue 实例使用的根 DOM 元素。
你可以试试用 ref 来获取指定元素。

另外,其实我也不太懂 var testEl = this.$el('test') 这么写选中的是哪个元素,这个 'test' 是指元素的ID吗? 求科普~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进