import:template事件event
发布于 5 年前 作者 wei21 13272 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

问题描述:

    页面pageA 内 import引入 template 文件

    template.js 内有 template => image 标签

代码如下:

    pageA.wxml:

<import src="../template/template.wxml"/>
<template is="tem_img"/>

    pageA.js

wxParseImgTap(e){
 console.log("bbababababawxParseImgTap",e)
}

    template.wxml


<template name="wxParseImg">
 <image data-from="{{item.from}}"
       
data-src="{{item.attr.src}}"
       
data-idx="{{item.imgIndex}}"
       
src="{{item.attr.src}}"
       
mode="aspectFit"
       
bindtap="wxParseImgTap"
       
/>
</template>

报错截图:

报错如下

VM13516:1 Do not have wxParseImgTap handler in current page: pages/cms/page/index. Please make sure that wxParseImgTap handler has been defined in pages/cms/page/index, or pages/cms/page/index has been added into app.json

  • 预期表现

        点击 template文件中的 <image> 标签,调用 PageA.js 中的 wxParseImgTap() 事件。

如果将 template文件中的代码放到 pageA.wxml文件中,就可以响应到pageA.wxParseImgTap事件。但是这样就没有 template的意义了。

1 回复

你的代码真难看。不用template你可以用自定义组件。我感觉你的需求应该是自定义组件多一点。模板的import跟include只是让你把相同的模板代码拿出来而已,减少代码的重复,并不包括动作,如果想用上动作,可以使用组件,或者像我这样

回到顶部