【发布时间】:2014-06-04 17:03:24
【问题描述】:
我已经升级到最新的微风版本,现在在`
function movePropsToBackingStore(instance) {
var bs = getBackingStore(instance);
var proto = Object.getPrototypeOf(instance);
var stype = proto.entityType || proto.complexType;
stype.getProperties().forEach(function(prop) {
var propName = prop.name;
if (!instance.hasOwnProperty(propName)) return;
// pulls off the value, removes the instance property and then rewrites it via ES5 accessor
var value = instance[propName];
delete instance[propName];
instance[propName] = value;
});
return bs;
}
我遇到了异常,其中 - 无法在严格模式下删除属性!!! 对于我的一些实体,我已经使用计算属性注册了 CTORS
是否有解决方法或者它是一个错误?
ctor 示例
define(['sharedServices/dataRepository', 'sharedServices/enumRepository'], function (dataRepository, enumRepository) {
'use strict';
return function () {
this.segments = undefined;
var that = this;
function isArray(value) {
return value &&
typeof value === 'object' &&
typeof value.length === 'number' &&
typeof value.splice === 'function' &&
!(value.propertyIsEnumerable('length'));
}
function handlePropertySet(entityName, newState) {
if ((isArray(newState) && newState.length === 0) || (!isArray(newState) && !newState.results)) {
return;
}
var i = 0,
value = isArray(newState) ? newState : newState.results;
for (i; i < value.length; i++) {
dataRepository.addUnchangedEntity(entityName, value[i]);
}
}
function handlePropertyGet(enstate, ename) {
if (that[enstate] === undefined || that[enstate] === null) {
if (!that.entityAspect || !that.entityAspect.entityManager || !that.entityAspect.entityManager.isReady) {
that[enstate] = null;
} else {
that[enstate] = that.entityAspect.entityManager.executeQueryLocally(new breeze.EntityQuery(ename).
where('VirtualTourID', 'eq', that.ID));
}
}
return that[enstate] === null ? [] : that[enstate];
}
Object.defineProperty(this, 'Segments', {
get: function () {
return handlePropertyGet('segments', "VirtualTourSegments");
},
set: function (value) { //used only when loading tours from the server
handlePropertySet('CVirtualTourSegment', value);
},
enumerable: true
});
};
});
删除段时出错 我也在使用 IE11
【问题讨论】:
标签: javascript breeze