微风导航属性是不可观察的

时间:2014-02-12 11:56:23

标签: odata breeze

我对集合导航属性一无所知。

首先,我进行了元数据调试,全部检查出来。根据文档,我希望导航集合属性是可观察的,例如我可以通过

获得收藏
Foo.Bar() // bar is KO observable array

然而,我无法让它像那样工作。

我的查询:

new breeze.EntityQuery()
    .from('Classes')
    .where('ClassId', '==', id)
    .expand('LessonOfClasses')

结果:

[
   {
      "$id":"1",
      "$type":"Model.Class, Model",
      "ClassId":24,
      "LessonOfClasses":[
         {
            "$id":"2",
            "$type":"Model.LessonOfClass, Model",
            "class_lesson_id":30,
            "class_id":24,
            "lesson_id":40,
            "Class":{
               "$ref":"1"
            },
            "Lesson":null
         },
         // other instances of LessonOfClass...
         ]
      // other properties of Class...
    }
[     

这对我来说很好看。但是,当我运行查询时,结果是:

var classObject = data.results[0];
classObject.LessonOfClasses // returns normal array
classObject.LessonOfClasses() // error:  not a function

1 个答案:

答案 0 :(得分:0)

当挖掘不可用作依赖项时,Breeze会导致使用普通的JSON对象。

问题是我使用knockout作为require.js依赖项,并且未设置全局 ko 引用。

requirejs(['knockout'], function(ko) {
    window.ko = ko;
})

Breeze严格要求 ko ,而不是durandal,我认为淘汰