我自定义对象:
我想填充对象但不能正常工作。
我的代码:
var BindingMainCat = context.binding.get("value");
BindingMainCat.set("AllPaymentsList[0].id", invoice_id);
BindingMainCat.set("AllPaymentsList[0].amount", inputs[i].value);
请帮帮我。感谢
答案 0 :(得分:0)
coachview绑定变量中的访问器不支持带点和括号的复杂导航。获得列表后,您可以对列表项使用add()
,remove()
和put()
操作。您可以在列表的属性上使用get()
和set()
,但不能在项目本身上使用 - 请参阅"List operations" of binding的IBM文档。例如:
var list = this.context.binding.get("value");
var item0 = list.get(0);
item0.set("id", invoice_id);
item0.set("amount", inputs[i].value);
此外,您可以用新的替换列表元素:
var list = this.context.binding.get("value");
var newItem0 = {id: invoice_id, amount: inputs[i].value};
list.put(0, newItem0);
请注意,列表的最终内容相同,但更改通知不同。在第一个示例中,将有两个关于项属性更改的事件,在第二个示例中,将有关于列表更改的单个事件 - 请参阅bind()
and bindAll()
文档。
还要警告,在每一步都可以遇到空值,如果coachview没有任何绑定,则this.context.binding
未定义,如果绑定变量为null,则this.context.binding.get("value")
为空,如果列表没有然后list.get(0)
的项目未定义等。