我在Breeze中使用非标量和复杂的数据属性。它们工作正常,除了在非标量属性中添加或删除项目时,或者在复杂属性上更改属性时,不会触发EntityChanged和PropertyChanged事件。
如果非标量或复杂属性发生变化,我如何收到通知?
manager.metadataStore.addEntityType({
shortName: 'Thing',
namespace: namespace,
dataProperties: {
id: {
dataType: breeze.DataType.Guid,
isPartOfKey: true
},
strings: {
dataType: breeze.DataType.String,
isScalar: false
},
object: {
dataType: new breeze.ComplexType({
shortName: 'Object',
namespace: namespace,
dataProperties: {
a: { dataType: breeze.DataType.String },
b: { dataType: breeze.DataType.String }
}
})
}
}
});
答案 0 :(得分:0)
对标量数据属性(即基元和complexType)实例的更改会引发父实体上的更改事件。对非标量数据属性的更改会在关联的集合上引发“arrayChanged”事件。 见:
http://www.breezejs.com/sites/all/apidocs/classes/%E2%86%88_complexArray_.html
和
http://www.breezejs.com/sites/all/apidocs/classes/%E2%86%88_primitiveArray_.html#event_arrayChanged