github精选:微信小程序说明:数据绑定及条件渲染,列表渲染

  <view class="price">{{info.name + info.family.addr}}</view>
  • 如果info是空,不会报错,生成的结果和JS相同。undefined + undefined = NaN
  • 如果family是空,不会报错,生成的结果和JS相同。string + undefined = stringundefined
  • 如果属性都有效,正常的加法运算

之所以这样的原因是因为微信的语法解析分三部分,优先级高的点引用在先,加法在后。是这样的

 var scr = "info.name + info.family.addr".split(' ') var oper = scr[1]; "info.name".split('.').find in dataMap "info.family.addr".split('.') find in dataMap if(null) { return undefined } //注意:想想oper是undefined会怎样? eval(a oper b) || '' 

目前支持的operation有所有算术运算、位运算和逻辑运算,三目运算。所以就不难理解下面的写法将会引发致命错误

    <view class="price">{{info.name info.family.addr}}</view>

因为找不到operation,View Thread抛出错误。渲染失败,页面呲掉。

    <view class="price">{{info.name}}{{info.family.addr}}</view>

这是最安全的写法,不过很难看懂。它相当于输出(渲染)

console.log(a||''); console.log(b||'');

然而下面的,哈哈,它就不是一个运算了,

    <view class="price">{{info.name}} + {{info.family.addr}}</view>

而是输出(渲染)

    console.log(a||''); console.log('+'); console.log(b||'');

条件渲染

wx:if

  <view wx:if="{{name}}">{{name}}</view>
  • 当name是null,0,false,特别是空字符串”时,这些js判断为假的值wx:if也判断为假。

Tip: 此时的行为和js相同。

  <view wx:if="{{obj.val.name}}">{{name}}</view>
  • 当obj不存在的时候,即:obj===undefined。不管引用了多少层。wx:if什么都不做,并不出错。

Tip: 此时的行为和js不同,不过极可能正是你想要的效果。

列表渲染

wx:for

  <block wx:for="{{obj}}"><view>{{item}}</view></block>
  • 如果obj是null, ”, false等js认为的空,什么都不做
  • 如果obj是{},[]空对象,什么都不做
  • 如果是字符串,则每个字符为一个元素
  • 如果是个对象,则输出value,item为value。比如{id:1, name:’abc’},输出1和abc
  • 如果是个数组,则输出每个元素,item为元素

Tip: 此时的行为和js相同。

  <block wx:for="{{obj.data.name}}"><view>{{item}}</view></block>

当obj不存在的时候,即:obj===undefined。不管引用了多少层。wx:if什么都不做,并不出错。

Tip: 此时的行为和js不同,不过极可能正是你想要的效果。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

【小程序源码网资源版权风险说明】:
本站为避免不必要的纷争,分享的所有资源中一切可能有版权风险的资源将全部转载自第三方网站或平台,站长只为大家提供相关资源的介绍和跳转引导。 因可能有疏忽大意,所以如有遗漏资源侵犯了您的合法权利,请联系站长删除。
【小程序源码网资源下载使用说明】:
本站所分享的一切QQ小程序源码,thinkphp整站源码,微信小程序源码,图文教程等资源仅供用户学习参考使用,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网毫无人看的介绍】:
本站又称Z站,原名贼娘网,开站于2018年,换过三任站长,目前站长是第四任站长,本站是一个主要分享免费开源小程序源码/网站源码/免费素材/教程资源的网站,主要小程序资源有用于学习的小程序源码,也有正版原创可商用的小程序源码,是一个公益博客型网站。
【小程序源码网原创源码版权申明】:
未经小程序源码网许可,任何人不得擅自使用本站原创首发源码进行商业行为(除本站VIP用户在期限内,版权无使用限制),否则将依法承担相应赔偿责任。
【小程序源码网转载文章版权申明】:
本站所转载的QQ小程序或微信小程序源码与其他资源仅供学习,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网站长最后的屁话】:
如有您认为本站有任何侵犯您合法权益的文章,或者您有什么疑问需求,欢迎联系站长QQ,站长24小时在线,备注公司名称和源码版权问题或者需要小程序定制开发等站长业务类型可急速处理,如果您只是交流小程序的一些开发问题或源码问题可以加入QQ群讨论,就不用加站长啦,对于白嫖党,QQ群才是处理问题的天堂,当然站长也欢迎大家骚扰~
小程序源码网 » github精选:微信小程序说明:数据绑定及条件渲染,列表渲染
嘿,投喂下嘛!