云网牛站
所在位置:首页 > HarmonyOS问题与回答 > 鸿蒙HarmonyOS JS FA不支持onclick="{{ $item.tap }}"写法

鸿蒙HarmonyOS JS FA不支持onclick="{{ $item.tap }}"写法

2021-06-26 15:55:44作者:冰蓝稿源:HarmonyOS站

问题:经实测,目前鸿蒙HarmonyOS JS FA不支持事件处理函数插值写法:onclick="{{ $item.tap }}",这会导致在开发列表类应用非常不方便。

 

问题追加:

我想要开发一个列表类应用,每个列表都有一个onclick事件处理函数,如下图所示:

鸿蒙HarmonyOS JS FA不支持onclick="{{ $item.tap }}"写法

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"。

精选文章
热门文章