收藏
回答

wxml里面数据绑定组建一个对象报错

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 还在开发中 2.4.2

- 当前 Bug 的表现(可附上截图)


我是在api文档看到应该有这个功能的,这还是api上面的demo改了下,不知道为什么不行,是不是我写错了,还是我犯了啥低级错误??

- 预期表现


- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

3 个回答

  • LastLeaf
    LastLeaf
    2018-12-20

    {{ {foo: 1, bar: 2} }} 这样

    2018-12-20
    有用 3
    回复 8
    • 张俊斌
      张俊斌
      2018-12-20

      谢啦,原来需要加空格,惊呆了

      2018-12-20
      1
      回复
    • 张俊斌
      张俊斌
      2018-12-20回复张俊斌

      虽然解决了,但是文档上面根本没有这种说明,好坑的,鬼知道是这样写的,百度了好久都没找到


      2018-12-20
      回复
    • LastLeaf
      LastLeaf
      2018-12-20回复张俊斌

      外层的双花括号表示是个数据绑定,内层的花括号表示这是个对象

      2018-12-20
      回复
    • 2018-12-20回复张俊斌


      兄弟你看文档跳着看的么?

      另外, 你要想在tap事件里获取数据, 要看这一节

      https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

      2018-12-20
      回复
    • 张俊斌
      张俊斌
      2018-12-20回复LastLeaf

      我之前也试过这样,多加个{}花括号,{{{a:1,b:2}}}但是由于没加空格报错了,我就以为没这样的方式了

      2018-12-20
      回复
    查看更多(3)
  • 2018-12-20

    <view class="spec" data-obj="{for: 1, bar: 2}">11</view>

    data-***=“”这是绑定数据的语法。

    {{}}这是插值表达式,用来渲染js里data的数据。

    你这是绑定一个静态对象,不要写在插值表达式里,直接写

    2018-12-20
    有用
    回复 5
    • 张俊斌
      张俊斌
      2018-12-20


      但是应该有这种写法吧

      我主要是想给组件传递一个组合对象,像这样的


      2018-12-20
      回复
    • 2018-12-20回复张俊斌

      <num>是什么? 你用的插件么?

      template的data和view的data写法不一样。

      template是模板.

      view是元素.

      view绑定数据使用data-***这是语法, 必须有data-

      2018-12-20
      回复
    • 2018-12-20回复张俊斌

      看你的描述, 你是把template模板, 普通组件 和 自定义组件搞混了.

      认真看下文档.

      然后不明白的地方具体百度一下.

      2018-12-20
      回复
    • 张俊斌
      张俊斌
      2018-12-20回复

      我的问题已经好了,是LastLeaf大哥的方法

      不过你说的也对,我确实弄混了template模板, 普通组件 和 自定义组件搞

      不过我觉得传递数据的话,方式应该是差不多的

      {{ {a: 1, b: 2} }}

      这样前后加空格的方式真是想不到

      2018-12-20
      回复
    • 2018-12-20回复张俊斌

      这是一个插值表达式的概念,

      简单来说'{{'和'}}'是一个固定的, 用来解析js中data数据的方法. 当你不需要解析的时候, 就不需要它.

      它们是一体的, 不可拆分.

      意思就是你写成{{{就什么都不是, 不知道你写的啥

      2018-12-20
      1
      回复
  • ==
    ==
    2018-12-20

    你这是想绑2个对象??

    2018-12-20
    有用
    回复 3
    • 张俊斌
      张俊斌
      2018-12-20

      是生成一个对象,就是绑定的是个对象啦

      比如最后应该绑定一个{for: 1, bar: 2}的对象

      不知道为什么不行


      2018-12-20
      回复
    • 张俊斌
      张俊斌
      2018-12-20


      这是官网的api,不知道为啥自己不行

      2018-12-20
      回复
    • ==
      ==
      2018-12-20回复张俊斌

      test="{for: 1, bar: 2}"这样就行了,,你看文档看的<template is="objectCombine" data="{{for: a, bar: b}}"></template>这个了吧!!

      2018-12-20
      回复
登录 后发表内容