我对集合导航属性一无所知。
首先,我进行了元数据调试,全部检查出来。根据文档,我希望导航集合属性是可观察的,例如我可以通过
获得收藏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
答案 0 :(得分:0)
当挖掘不可用作依赖项时,Breeze会导致使用普通的JSON对象。
问题是我使用knockout作为require.js依赖项,并且未设置全局 ko 引用。
requirejs(['knockout'], function(ko) {
window.ko = ko;
})
Breeze严格要求 ko ,而不是durandal,我认为淘汰。