javascript - Breezejs ComplexType 不执行自定义初始化函数

标签 javascript breeze single-page-application

我最近更新到 Breezejs 1.4.2,运行自定义初始值设定项似乎存在问题。我的应用程序使用 Breeze 正确注册了 ctor 和初始化程序(我相信),但是当我从 Entity Framework 支持的 webapi 检索记录时,初始化程序没有被执行。来自签到来源github似乎初始化程序代码已被注释掉,并添加了初始化程序将从另一段代码执行的注释。我有什么想法可以解决这个问题吗?我可能会降级到 1.4.1,因为它正在运行。我将删除注释掉的部分,看看它是否有效,但想知道是否还有其他人经历过同样的事情?

C#

public class ForecastItem
{
    public int Id { get; set; }
    public Result CurrentYear { get; set; }
    /* extra detail removed */
}


public class Result 
{
    public int? Actual { get; set; }
    public int? Estimate { get; set; }

}

Javascript

    function extendResult(metadataStore) {
        var ctor = function () { };

        var initialiser = function (entity) {
            entity.useEstimate = ko.computed({
                read: function () {
                    return entity.actual() === -1 ? true : false;
                },
                deferEvaluation: true
            });
            return entity;
        };
        metadataStore.registerEntityTypeCtor('Result', ctor, initialiser);
    }

编辑
我已取消注释 Breeze.debug.js 中的代码,它现在可以工作了。

ComplexType 原型(prototype)对象

proto._createInstanceCore = function (parent, parentProperty ) {
    var aCtor = this.getCtor();
    var instance = new aCtor();
    new ComplexAspect(instance, parent, parentProperty);
    // TODO: don't think that this is needed anymore - createInstance call will do this 
    //if (parent) {
    //    this._initializeInstance(instance);
    //}
    return instance;
};

最佳答案

好的,这是一个错误,现已修复。该修复将在 Breeze 1.4.3 中提供,或者现在可以从 Breeze Git 存储库中获得。 ...感谢您找到它。 :)

关于javascript - Breezejs ComplexType 不执行自定义初始化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042991/

相关文章:

javascript - Angular JS 待办事项列表未显示

javascript - 如何从 SPA 返回 HTTP 404 状态代码?

api - 是否有必要在每个请求中刷新 token ?

c# - 有没有 "standard MVC"混合 Javascript 和 Razor 的方法?

javascript - Android WebView iframe - 替换 src

c# - 如何使用 IQueryable 方法返回额外数据?

c# - 从 C# 保存对 Breeze Web api 的更改

javascript - 使用 BreezeJs 从 Angular 工厂获取数据

javascript - 需要在 ng-template 中解释 let-* 指令

javascript - ARB Ple 持有人不工作