我需要一个值为零(0
)
防暴模板:
<my-tag time="{ time }">
this.time = condition ? '10' : '0'
</my-tag>
期望的结果:
<my-tag time="0"></my-tag>
然而,如果它有假值,Riot会自动省略整个属性:
<my-tag></my-tag>
我目前的解决方法:
this.on('updated', () => {
$(this.root).attr('time', this.time)
})
换句话说,我需要time
属性具有time
属性的确切值。
修改
从2.2.4开始看起来已经发生了变化。
这可以按预期工作 - 两个标记都呈现了具有相应值
的属性time
此失败 - 属性设置为false
的代码已移除整个属性
答案 0 :(得分:1)
这是在暴乱v2.3.18中工作:
SELECT SYSDATE FROM DUAL;
将生成
<my-tag time="{ time ? '10' : '0'}">
<script>
this.time = false;
</script>
</my-tag>
答案 1 :(得分:0)
尝试使用&#34; riot - &#34;
为您的属性添加前缀<my-tag riot-time="{ time }">
我有类似的问题
<div class="fldr" data-stat="{ s }">
当s = 0时,呈现为
<div class="fldr">
这适用于我的情况
<div class="fldr" riot-data-stat="{ s }">
请注意,我没有使用riot编译器,我编写了编译器会生成的Javascript,你可能不得不绕过Riot编译器才能工作。只需查看已编译的my-tag.js并从那里开始。
关于riot.tag()http://riotjs.com/api/#manual-construction
的Riot API文档