2013-07-09 50 views
1

假設有是有一些複雜的屬性,如地址和出生日期breezejs - 如何創建一個新的實體時開始複雜類型的屬性

我用這個代碼創建的人一個新的實體人類型:

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

如何啓動複雜類型,以便將其綁定到空白表單? 在微風DOC,它說:http://www.breezejs.com/documentation/complextype-properties

其實,這是不正確略,您可以創建一個complexType.createInstance方法 一個複雜類型的「綁定」 的實例,但是當你將它,你簡單地複製將其值分配到現有實例的 上。

哪裏是啓動複雜類型屬性的最佳位置?任何示例代碼都會非常有用。

+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); 
+0

謝謝你的回答。 我想知道SPA JumpStart如何在https://github.com/johnpapa/PluralsightSpaJumpStartFinal上處理這個概念。 它接合了作者johnpapa引入的createNullos方法,這可能是一個有趣的解決方案。 –

相關問題