我有一个用于在Polymer中提交数据的表单,最终看起来像:
<paper-input name="username" label="Username" on-blur="_onUsernameInput" required></paper-input>
<span class="invalid" hidden$="[[usernameValid]]">invalid</span>
这个想法是表单中的每个输入都有一个验证函数(例如“_onUsernameInput”。输入后面是文本“invalid”,它是隐藏的还是不是基于验证函数是否通过。
但是,我在表单中创建的字段是动态的:
// add new form input
var toAdd = document.createElement("paper-input");
toAdd.label = args[i].name;
toAdd.id = args[i].id;
toAdd.addEventListener("blur", args[i].verificationMethod);
Polymer.dom(insertPoint).appendChild(toAdd);
// add new "invalid" text to show or hide on validation
var spanAdd = document.createElement("span");
var prop = args[i].id + "Valid";
Polymer.dom(spanAdd).setAttribute("hidden", "[[" + prop + "]]"); // ?!?!?!
Polymer.dom(insertPoint).appendChild(spanAdd);
我被卡住的地方在“?!?!?!”的行中 - 如何使用绑定动态添加属性(在这种情况下,绑定到布尔值的隐藏属性将确定“无效”文本是否可见)。