gpt4 book ai didi

javascript - Breeze JS - 从对象图扩展模型

转载 作者:行者123 更新时间:2023-12-03 07:25:08 24 4
gpt4 key购买 nike

目前,我可以使用以下代码扩展我的产品实体的 Breeze 模型实体类型:

    function registerProduct(metadataStore) {


function Product(){}


// description property
Object.defineProperty(Product.prototype,'description', {
// TODO: handle selected globalization language
get: function () {
return this.descripFr;
}
})

metadataStore.registerEntityTypeCtor('Product',Product);
}

我遇到的问题是在扩展属性中使用实体图中的属性(在本例中为 codeligne),如下所示:

      Object.defineProperty(Product.prototype,'name', {
get: function () {
var codeligne = this.codeligne;
var name = codeligne.ligne + '-' + this.codeprod;
return name;
}
})

这会引发 codeligne.ligne 的未定义异常。如果我直接在 ng-repeat 中使用 codeligne.ligne ,那么该属性会正确显示,因此 Breeze 似乎意识到了这一点。

关于扩展模型时如何使用 codeligne 图形对象有什么建议吗?

最佳答案

“ligne”导航属性表示的实体可能尚未加载。在引用其属性之前,您应该检查它是否包含一个值。

  Object.defineProperty(Product.prototype, 'name', {
get: function () {
var codeligne = this.codeligne;

if (!codeligne) {
return null;
}

var name = codeligne.ligne + '-' + this.codeprod;
return name;
}
})

关于javascript - Breeze JS - 从对象图扩展模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36034741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com