我想要绑定上下文列表但不工作

时间:2017-09-05 13:30:37

标签: ibm-bpm

我自定义对象:

enter image description here

我想填充对象但不能正常工作。

我的代码:

enter image description here

  var BindingMainCat = context.binding.get("value");
                 BindingMainCat.set("AllPaymentsList[0].id", invoice_id);
                 BindingMainCat.set("AllPaymentsList[0].amount", inputs[i].value);

请帮帮我。感谢

1 个答案:

答案 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)的项目未定义等。