有一些關於此的帖子,但沒有具體說明在我的項目中有效。如何在沒有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實際值來填充?
你是駱駝嗎? –
沒有駱駝套。 – user2341148