breezejs - 如何在创建新实体时启动复杂类型属性

时间:2013-07-09 01:26:38

标签: breeze complextype

假设存在具有一些复杂属性的人类型,例如Address和dateOfBirth

我使用此代码创建了一个新的实体实体:

 newPerson(manager.createEntity("Person",{ id: breeze.core.getUuid() }));

如何启动复杂类型以便将其绑定到空白表单? 在微风文档中,它说:http://www.breezejs.com/documentation/complextype-properties

  

这实际上有点不正确,你可以创建'未绑定'   具有complexType.createInstance方法的complexType的实例   但是当你分配它时,你只是将它的值复制到一个   现有实例。

启动复杂类型属性的最佳位置在哪里?任何示例代码都会非常有用。

1 个答案:

答案 0 :(得分:1)

如果您正在处理标量导航属性,即返回另一个实体的单个实例的导航属性,那么您可以在createEntity调用中正确执行

 newDetail = manager.createEntity("OrderDetail", { Order: parentOrder, Product: parentProduct });

如果您正在处理非标量(即数组)导航属性,则需要将子项目推送到导航属性中。即。

 newCustomer = em.createEntity("Customer");
 var orders = newCustomer.getProperty("Orders"); 
 orders.push(order1);
 orders.push(order2);
 // OR
 // orders.push.apply(orders, ordersToPush);