组件中的Boolean属性赋值问题
发布于 6 年前 作者 mjia 7644 次浏览 来自 官方Issues

组件Boolean属性值的时候,前面一种方式是不行的,得用后面一种,这应该是个bug吧?原生组件都可以用前面这种方式赋值,自定义组件却要换种方式,很让人疑惑,最好能保持一致。

<itemlist isShow=“false” />

<itemlist isShow="{{false}}" />

代码片段:https://developers.weixin.qq.com/s/78Y9Q4m177bs

补充:

谢谢网友提醒,原生组件也是这样的行为,不过布尔值赋值还需要使用数据绑定的方式,有点奇葩(参考下HTML或者其它前端开发的场景),要是能隐式转换一下就好了,毕竟已经声明了那个属性是Boolean

3 回复

在 react和 vue 中可以直接采用第一种写法,也可以直接 <itemlist isShow/> ; 而在小程序中组件的写法;需要适应小程序自身的一个语法的转换;就好比写 es6 的时候, 需要用 babel 去转 成 ast ;然后在渲染出来; 小程序的底层也应该有这么一套逻辑;必须适应小程序自身的语法,才可以去编译,转换;

原生组件也得这么赋值

你这代码片段说明了啥,带{{}}是布尔值,不带双引号是字符串,没问题啊

回到顶部