【发布时间】:2020-01-23 18:19:33
【问题描述】:
我正在尝试在 Marko 中创建一个表单,对于输入,我正在使用一个组件来创建输入并处理验证。 漏洞问题是当我尝试将事件侦听器作为动态属性传递时。
我有一个字段数组作为对象,包含类型、id,如果必须检查字段,还有一个带有处理函数的属性对象。
$ const fields= [
{
type: 'email',
id: 'exampleEmail',
atrrs: {
'on-change' : 'check'
}
'},
.
.
.
]
<for|field| of=fields>
<input type=`${field.type}` id=`${field.id}` ...field.attrs>
</for>
输出应该是:
<input type='email' id='exampleEmail' on-change('check')>
但我却有:
<input type='email' id='exampleEmail' on-change='check'>
如果我尝试将属性作为字符串而不是对象传递,我会收到迁移和弃用警告:
迁移 “${attributes}”已被弃用。请改用“...属性”修饰符
警告!!
“不推荐将字符串作为动态属性 ('<div ${string}>' or '<div ...string>') 传递,请改用对象。”
【问题讨论】:
标签: event-listener marko dynamic-attributes