问题:经实测,目前鸿蒙HarmonyOS JS FA不支持事件处理函数插值写法:onclick="{{ $item.tap }}",这会导致在开发列表类应用非常不方便。
问题追加: 我想要开发一个列表类应用,每个列表都有一个onclick事件处理函数,如下图所示:
JS代码如下: data: { cache: [ { iconurl: '/images/icon/app_clear.png', title: '缓存清理', tap: 'clearCache' } ], device: [ { iconurl: '/images/icon/app_cellphone.png', title: '系统信息', tap: 'showSystemInfo' }, { iconurl: '/images/icon/app_network.png', title: '网络状态', tap: 'showNetWork' }, { iconurl: '/images/icon/app_location.png', title: '地图显示', tap: 'showMap' }, ...................... ], 由于列表项比较多,我通过for来渲染每一个列表项,列表中有对应的事件处理函数。HML代码如下: <div class="block category-item"> <block for="{{ cache }}"> <div class="block detail-item" onclick="{{ $item.tap }}"> <image src="{{ $item.iconurl }}"> </image> <text>{{ $item.title }}</text> <div class="detail-item-btn"> </div> </div> </block> </div> <div class="block category-item"> <block for="{{ device }}"> <div class="block detail-item" onclick="{{ $item.tap }}"> <image src="{{ $item.iconurl }}"> </image> <text>{{ $item.title }}</text> <div class="detail-item-btn"> </div> </div> </block> </div> 然而,onclick="{{ $item.tap }}"这种写法在鸿蒙HarmonyOS中并不支持。目前Vue、小程序都支持这种写法,如果鸿蒙OS不支持,建议能够尽快支持。
回答: 如果不支持onclick="{{ $item.tap }}"这种写法,目前的处理方式是把事件处理函数写死,例如,onclick="clearCache"。 |