Knockout.js 我可以在breeze和durandal中访问模型内部的datacontext吗?

Knockout.js 我可以在breeze和durandal中访问模型内部的datacontext吗?,knockout.js,breeze,durandal,hottowel,Knockout.js,Breeze,Durandal,Hottowel,我想创建knockout computed函数,该函数将使用breeze方法进行ajax调用,并根据实体类型检索所有记录,如下所示 standardResourceProperty.listItems = ko.computed({ read: function () { listObsevable = ko.observableArray(); datacontext.getStandardResourcePropertyList

我想创建knockout computed函数,该函数将使用breeze方法进行ajax调用,并根据实体类型检索所有记录,如下所示

standardResourceProperty.listItems = ko.computed({
        read: function () {
            listObsevable = ko.observableArray();
            datacontext.getStandardResourcePropertyListItems(standardResourceProperty.id(),listObsevable);
            return listObsevable;
        },
        write: function (value) {

        }
    });
该函数写在standardResourcePropertyInitializer中,初始化时使用

metadataStore.registerEntityTypeCtor(
        'StandardResourceProperty', function () { this.isPartial = false; }, standardResourcePropertyInitializer);
当我迭代ui中的标准资源时,我希望有一个列表,每个资源都有敲除

但是,我得到的数据上下文是未定义的。甚至认为它与durandal在同一个文件中正确注册

define(['config', 'durandal/system', 'services/logger', 'services/datacontext'],
function (config, system, logger,datacontext) {
我的数据上下文代码如下所示

define([
'durandal/system',
'services/model',
'config',
'services/logger',
'services/breeze.partial-entities'],
function (system, model, config, logger, partialMapper) {

var datacontext = {
        getResources: getResources,
        cancelChanges: cancelChanges,
        saveChanges: saveChanges,
        getStandardResourceProperty: getStandardResourceProperty,
        getStandardResourcePropertyListItems: getStandardResourcePropertyListItems,
        getResourceProperty: getResourceProperty,
        createResource: createResource,
    };

    return datacontext;
});

请告诉我任何建议。

在做了更多的调查之后,我已经实现了服务器端查询,以返回相关对象(子对象),然后创建了computed,以便在视图中使用敲除绑定访问它。

我找到了解决方案! 在services文件夹下创建一个名为binding.js的新文件

define(['services/logger', 'services/datacontext'], function (logger, datacontext) {
    logger.log('about to do binding');
    YOUR KO CODE 
    datacontext.createTimeSlotWithValue({
                    description: 'descrizione da drop'
                });
                datacontext.saveChanges();
});

定义时在sheel.js中添加“services\logger”。这更干净

您的datacontext服务看起来怎么样?您可能没有从中返回对象实例。不,情况并非如此,因为在我的viewmodels中,它被正确检索。但是,对于给定的情况,我希望通过使用datacontext来构建模型。所以我不知道为什么同一个datacontext在使用模型时不能正常工作viewmodel@parth1729你能编辑你的帖子并添加你的数据上下文代码吗?@CodingGorilla我已经添加了示例代码以及我从datacontext.js返回的一些方法file@parth1729您是否能够验证(通过调试器或console.log)在创建计算上下文之前,
datacontext
是否未定义?