嵌套template事件绑定无效
这是无项目的目录结构: [图片] 在pages/index/index.wxml中引用模板: [代码]<!--index.wxml-->[代码] [代码]<[代码][代码]import[代码] [代码]src[代码][代码]=[代码][代码]"../common/movie-list.wxml"[代码][代码]/>[代码] [代码]<[代码][代码]loading[代码] [代码]hidden[代码][代码]=[代码][代码]"{{!isLoading}}"[代码][代码]>加载中...</[代码][代码]loading[代码][代码]>[代码][代码]<[代码][代码]template[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{!isLoading}}"[代码] [代码]is[代码][代码]=[代码][代码]"movie-lists"[代码] [代码]data[代码][代码]=[代码][代码]"{{answers,layerlayer,swiper}}"[代码][代码]/>[代码]在pages/index/index.js中顶事件处理函数: [代码]const https = require([代码][代码]'../../public/js/douban.js'[代码][代码])[代码][代码]//index.js[代码][代码]//获取应用实例[代码][代码]var[代码] [代码]app = getApp()[代码][代码]Page({[代码][代码] [代码][代码]//单选逻辑[代码][代码] [代码][代码]tapRadio:[代码][代码]function[代码][代码](e){[代码][代码] [代码]console.log("tapRadio");[代码][代码][代码] [代码][代码]},[代码][代码] [代码][代码]//多选逻辑[代码][代码] [代码][代码]tapCheckbox:[代码][代码]function[代码][代码](e){[代码][代码] console.log("tapCheckbox");[代码][代码] [代码][代码]},[代码][代码] [代码][代码]//答案判断逻辑[代码][代码] [代码][代码] [代码][代码]//页码切换列表效果[代码][代码] [代码][代码]pageClick:[代码][代码]function[代码][代码](){[代码][代码] [代码][代码][代码]console.log("pageClick");[代码][代码][代码] [代码][代码]},[代码][代码]});[代码]在pages/common/movie-list.wxml中定义模板: [代码]<!-- 渲染普通的单项数据 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"radio"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"container"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]block[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{itemList.options}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"list {{item.class}}"[代码] [代码]data-option[代码][代码]=[代码][代码]"{{[item,index,idx]}}"[代码] [代码]bindtap[代码][代码]=[代码][代码]"tapRadio"[代码][代码]>//tapRadio这个事件不能够的触发[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"number"[代码][代码]> {{item.tip}}</[代码][代码]view[代码][代码]> {{item.content}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]block[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]template[代码][代码]>[代码] [代码]<!-- 渲染普通的多选数据 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"checkbox"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"container"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]block[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{itemList.options}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"list {{item.class}}"[代码] [代码]data-option[代码][代码]=[代码][代码]"{{[item,index,idx]}}"[代码] [代码]bindtap[代码][代码]=[代码][代码]"tapCheckbox"[代码][代码]>//tapCheckbox这个事件不能够的触发[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"number"[代码][代码]> {{item.tip}}</[代码][代码]view[代码][代码]> {{item.content}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]block[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"btn"[代码] [代码]bindtap[代码][代码]=[代码][代码]"tapSelect"[代码][代码]>确定</[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]template[代码][代码]>[代码] [代码]<!-- 题目选择模层 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"layer"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]scroll-view[代码] [代码]class[代码][代码]=[代码][代码]"status-lists"[代码] [代码]scroll-y[代码][代码]=[代码][代码]"true"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]block[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{answers.allLists}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]bindtap[代码][代码]=[代码][代码]"setActiveNum"[代码] [代码]data-option[代码][代码]=[代码][代码]"{{index}}"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{item.isAnswer == 0}}"[代码] [代码]class[代码][代码]=[代码][代码]"status-list {{answers.activeNum == index?'active':''}}"[代码][代码]>{{index+1}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]bindtap[代码][代码]=[代码][代码]"setActiveNum"[代码] [代码]data-option[代码][代码]=[代码][代码]"{{index}}"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{item.isAnswer == 1}}"[代码] [代码]class[代码][代码]=[代码][代码]"status-list success {{answers.activeNum == index?'active':''}}"[代码][代码]>{{index+1}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]bindtap[代码][代码]=[代码][代码]"setActiveNum"[代码] [代码]data-option[代码][代码]=[代码][代码]"{{index}}"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{item.isAnswer == 2}}"[代码] [代码]class[代码][代码]=[代码][代码]"status-list error {{answers.activeNum == index?'active':''}}"[代码][代码]>{{index+1}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]block[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]scroll-view[代码][代码]>[代码][代码]</[代码][代码]template[代码][代码]>[代码] [代码]<!-- 试题详解 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"tip"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"resolve"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"h1"[代码][代码]>试题详解</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]{{itemList.tip}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]template[代码][代码]>[代码] [代码]<!-- 页面题目模板 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"movie-list"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"header"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"xuanz"[代码][代码]>{{itemList.type}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]{{itemList.content}}[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"poster"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{!!itemList.media_type && !!itemList.media_url}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]image[代码] [代码]mode[代码][代码]=[代码][代码]"aspectFit"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{itemList.media_type == 1}}"[代码] [代码]src[代码][代码]=[代码][代码]"{{itemList.media_url}}"[代码][代码]></[代码][代码]image[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]video[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{itemList.media_type == 2}}"[代码] [代码]src[代码][代码]=[代码][代码]"{{itemList.media_url}}"[代码][代码]></[代码][代码]video[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码] [代码] [代码][代码]<[代码][代码]template[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{itemList.type == '多选'}}"[代码] [代码]is[代码][代码]=[代码][代码]"checkbox"[代码] [代码]data[代码][代码]=[代码][代码]"{{itemList,idx}}"[代码] [代码]/>[代码][代码] [代码][代码]<[代码][代码]template[代码] [代码]wx:else [代码][代码]is[代码][代码]=[代码][代码]"radio"[代码] [代码]data[代码][代码]=[代码][代码]"{{itemList,idx}}"[代码] [代码]/>[代码] [代码] [代码][代码]<!--<template is="tip" data="{{answers,itemList}}"/>-->[代码][代码]</[代码][代码]template[代码][代码]>[代码][代码]<!-- 题目展示页面 -->[代码][代码]<[代码][代码]template[代码] [代码]name[代码][代码]=[代码][代码]"movie-lists"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]'swiper-lists'[代码] [代码]catchtouchend[代码][代码]=[代码][代码]'touchEnd'[代码] [代码]catchtouchstart[代码][代码]=[代码][代码]'setEvent'[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]block[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{answers.list}}"[代码] [代码]wx:for-item[代码][代码]=[代码][代码]"itemList"[代码] [代码]wx:for-index[代码][代码]=[代码][代码]"idx"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{idx == swiper.active-1}}"[代码] [代码]class[代码][代码]=[代码][代码]'swiper-list prev'[代码] [代码]animation[代码][代码]=[代码][代码]"{{swiper.animationO}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]template[代码] [代码]is[代码][代码]=[代码][代码]"movie-list"[代码] [代码]data[代码][代码]=[代码][代码]"{{idx,itemList,answers,layerlayer}}"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{idx == swiper.active}}"[代码] [代码]class[代码][代码]=[代码][代码]'swiper-list'[代码] [代码]animation[代码][代码]=[代码][代码]"{{swiper.animationT}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]template[代码] [代码]is[代码][代码]=[代码][代码]"movie-list"[代码] [代码]data[代码][代码]=[代码][代码]"{{idx,itemList,answers,layerlayer}}"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{idx == swiper.active+1}}"[代码] [代码]class[代码][代码]=[代码][代码]'swiper-list next'[代码] [代码]animation[代码][代码]=[代码][代码]"{{swiper.animationS}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]template[代码] [代码]is[代码][代码]=[代码][代码]"movie-list"[代码] [代码]data[代码][代码]=[代码][代码]"{{idx,itemList,answers,layerlayer}}"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]block[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]hidden[代码][代码]=[代码][代码]"{{!layerlayer.isLayerShow}}"[代码] [代码]class[代码][代码]=[代码][代码]"footer-layer"[代码] [代码]bindtap[代码][代码]=[代码][代码]"layerFooterClick"[代码][代码]></[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"footer"[代码] [代码]animation[代码][代码]=[代码][代码]"{{layerlayer.layerAnimation}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"count"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"collect"[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{!answers.list.isStore}}"[代码] [代码]bindtap[代码][代码]=[代码][代码]"collectList"[代码][代码]>收藏</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"collect active"[代码] [代码]wx:else [代码][代码]bindtap[代码][代码]=[代码][代码]"collectList"[代码][代码]>收藏</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"page"[代码] [代码]bindtap[代码][代码]=[代码][代码]'pageClick'[代码][代码]>{{answers.activeNum + 1}}/{{answers.allLists.length}}</[代码][代码]view[代码][代码]>//pageClick这个事件能够正常的触发[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"success"[代码][代码]>{{answers.success}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码] [代码]class[代码][代码]=[代码][代码]"error"[代码][代码]>{{answers.error}}</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]template[代码] [代码]is[代码][代码]=[代码][代码]"layer"[代码] [代码]data[代码][代码]=[代码][代码]"{{answers,layerlayer}}"[代码] [代码]/>[代码][代码] [代码][代码]</[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]template[代码][代码]>[代码]在模板中pageClick这个事件函数能够正常调用,但是tapRadio,tapCheckbox等这些嵌套在模板中的事件却无法绑定成功,请问这是什么原因啊? 我在微信开发工具中也无法知道事件是否绑定成功,这种问题该怎么调试啊? 希望有大神能帮忙分析下原因,谢谢.