Riot 4.7.1 发布了,此版本修复了一个循环项属性编译问题:
带有“each”项目属性的标签中的内容无法正确读取,错误是“ TypeError:scope.item.scope 未定义”。问题是编译器确实会生成返回 scope.classNames({active: scope.item.scope.isActive}); 而不是返回 scope.classNames({active: scope.item.scope.isActive});
<my-tag> <select multiple> <option class="{classNames({active: item.isActive})}" each="{item in items}"> {item.name} </option> </select> <style> .active { font-weight: bolder; } </style> <script> export default { items: [ {name: "foo", isActive: true}, {name: "bar", isActive: false}, ], classNames: (classes) => { return Object.entries(classes).reduce((acc, item) => { const [key, value] = item if (value) return [...acc, key] return acc }, []).join(' ') } } </script> </my-tag>
详情查看:
Riot 是一个简单而优雅的基于组件的 UI 库,为所有现代浏览器带来了自定义组件。其支持浏览器包括:
它的体积也很小,只有 6k:
转自 https://www.oschina.net/news/111920/riot-4-7-1-released