收藏
回答

template 不响应 class、bingtap 等属性

问题模块
API和组件

在使用 template 的过程中,习惯性的



<template bindtap="clickHandle" data-ev="233" data="{{ ...data }}" is="card" wx:if="{{data}}" class="card-item"></template>



期望可以像使用其他框架一样,把 class 和 事件 过继到子模版的根上,但是,结果这些属性定义却被遗弃了。通过 wxml panle 也查看不到相关的节点。


这个是基础功能啊,不会这个也还没做支持吧???

最后一次编辑于  2017-09-06  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

9 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2017-09-07

    不要带入vue的思维,毕竟差别是比较大的,以后还会越来越大。

    2017-09-07
    赞同
    回复
  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-09-07

    那样也是可以解决,但 vue 的开发习惯不是那样的。。。

    2017-09-07
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2017-09-07

    在template外面多包一个view节点,不可接受吗?

    2017-09-07
    赞同
    回复
  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-09-07

    代码编写如下:


    <template name="card">

      // 第一个顶级节点
      <view class="card-header">
        // ...
      </view>
     
      // 第二个顶级节点
      <view class="card-body">
        // ...
      </view>
     
      // 第二个顶级节点
      <view class="card-footer">
        // ...
      </view>

    </template>


    <template is="card" bindtap="clickHandle" data-ev="233" data="{{ ...data }}" is="card" wx:if="{{data}}" class="card-item"></template>



    希望编译出的的结果是:


    // 若干节点、父节点啥的 ...

    // 第一个顶级节点, bindtap 事件和 class 继承合并自调用处
    <view class="card-header item-card" bindtap="clickHandle" data-ev="233" >
      // ...
    </view>
     
    // 第二个顶级节点, bindtap 事件和 class 继承合并自调用处
    <view class="card-body item-card" bindtap="clickHandle" data-ev="233" >
      // ...
    </view>
     
    // 第二个顶级节点, bindtap 事件和 class 继承合并自调用处
    <view class="card-footer item-card" bindtap="clickHandle" data-ev="233" >
      // ...

    </view>



    2017-09-07
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2017-09-06

    抱歉,没看明白你的意思。举例子说明一下?

    2017-09-06
    赞同
    回复
  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-09-06

    非常感谢答复!


    我明白了,因为在申明 template 子模版的时候可以写多个顶级节点。


    1、是否可以同时合并到那多个子模版的顶级节点?

    2、如果我只写了一个顶级节点,能不能当作为根节点,然后做合并操作?

    2017-09-06
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2017-09-06

    我的意思是,合并后子模版是没有根节点的。

    2017-09-06
    赞同
    回复
  • 不爱吃西红柿的鱼
    不爱吃西红柿的鱼
    2017-09-06

    为啥不在渲染的时候把那些属性合并到子模版的根节点上呢?

    2017-09-06
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2017-09-06

    这里的<template>不会对应生成一个真正的节点的,所以bindtap之类的当然不会有效。

    2017-09-06
    赞同
    回复