2013-09-21 35 views
0

有一些關於此的帖子,但沒有具體說明在我的項目中有效。如何在沒有KO的情況下爲未映射的實體屬性擴展微風元數據

我在Breeze上閱讀關於擴展實體的文檔,但他們使用挖空技術,而我正在使用Angular。

我在服務器上定義了一個自定義屬性,它在我的JSON中傳遞。

但是,微風js ingnores它,因爲它沒有元數據。

我需要在客戶端上定義元數據,以便Breeze可以讀取屬性。

這是我到目前爲止的客戶,但它不起作用。不工作......我的意思是當我用{{item.MyProp}}調用它時,屏幕上沒有任何東西顯示出來。但是,實際元數據的所有其他屬性都顯示得很好。

configureBreeze(); 

var serviceName = 'api/Entity'; 

var manager = new breeze.EntityManager(serviceName); 
manager.enableSaveQueuing(true); 


var store = manager.metadataStore; 

addMyPropType(store); 

function addMyPropType(store) { 
    store.registerEntityTypeCtor("Merchant", MyProp); 
} 

// custom Merchant constructor 
var MyProp= function() { 
    //'MyProp' is a server-side calculated property of the Merchant class 
    // This unmapped property will be empty for new entities 
    // but will be set for existing entities during query materialization 
    this.MyProp= "test"; 
}; 

var dataservice = { 
    store: store, 
    List: List, 
    Create: Create, 
    ListDetail: ListDetail, 
    Save: Save 
}; 
return dataservice; 

我已經準備好了NODB示例,但我確實有一個DB,它也使用KO。

UPDATE:

確定。所以我找到了一些部分有效的東西。現在默認值顯示在視圖上。但是,JSON的值未被填充。它始終使用默認值。

這是我現在有:

var Merchant = function() { 
    this.MyProp = "5"; 
}; 
store.registerEntityTypeCtor("Merchant", Merchant); 

需要採取什麼措施爲MyProp通過從JSON實際值來填充?

+0

你是駱駝嗎? –

+0

沒有駱駝套。 – user2341148

回答

0

好吧,看來這是微風中的一個bug。你實際上必須編輯breeze.js文件才能使它工作。我從來不會認爲這是一個錯誤。

我找到了答案在這裏:

Breeze Extended Entity Property Only Loads on Second Query

UPDATE:

我今天更新到breeze.js的最新版本和錯誤不存在了。所以這基本上是沒有理由的很多痛苦。感謝大家的幫助。如果因某種原因無法更新,請使用上面的鏈接。

0

如果camelCasing與PWKad建議的不同,那麼請查閱Breeze Angular SPA模板的微風文檔http://www.breezejs.com/samples/breezeangular-template。該鏈接中有一部分名爲「在客戶端上擴展實體定義」。

如果我理解正確,您有一個帶有「MyProp」計算屬性的「Merchant」對象。試試這個

store.registerEntityTypeCtor("Merchant",Merchant, merchantInitializer); 

function Merchant(){ 
this.MyProp=""; 
} 
+0

我實際上已經在使用該模板,但它沒有解決這個問題。我也閱讀過這些文檔,但他們使用ko.observable,這似乎是Knockout特有的。 merchantInitializer將需要是一個功能,我不知道它會有什麼。我嘗試了一百萬個組合,與您發佈的內容類似。問題是沒有錯誤信息......它只是不起作用。我正在尋找一個有人使用Angular工作的示例。我只需要定義一個屬於我的JSON的屬性,但不是元數據。 – user2341148

相關問題