2014-02-12 2 views
0

컬렉션 탐색 속성에 대해 이해할 수 없습니다.Breeze 탐색 속성을 볼 수 없습니다.

먼저 메타 데이터 디버그를 살펴보고 모두 체크 아웃합니다. 문서별로 볼 때 탐색 컬렉션 속성을 관찰 할 수 있어야합니다. 컬렉션을 얻을 수 있습니다

Foo.Bar() // bar is KO observable array 

그러나 나는 그런 식으로 작동하지 않습니다.

내 쿼리 나에게 잘 보이는

[ 
    { 
     "$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... 
    } 
[  

님의

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

결과. 내가 쿼리를 실행할 때, 그 결과는 다음과 같습니다 녹아웃 종속성으로 사용할 수없는 경우

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

답변

0

을 파악, 일반 JSON 객체를 사용하는 브리즈 결과.

문제는 내가 knockout을 require.js 의존성으로 사용하고 있습니다. ko 참조가 설정되지 않았습니다. 내가 녹아웃에 대한 모습을 생각하는 durandal 반대로

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

Breeze는, 코엄격하게 찾고 있습니다.

+0

[Todo-Require "샘플 토론] (http://www.breezejs.com/samples/todo-require)에서 Require.js에 대한 Breeze + 녹아웃 응용 프로그램을 구성하는 예를 찾을 수 있습니다. – Ward

+0

와드 링크 - 모듈 이름 "ko"가 필요하다는 것을 발견했습니다. 타이프 스크립트 typedef를 행복하게 유지해야하는 녹아웃 같은 다른 이름을 지정하면이 별칭을 "별칭"으로 지정해야합니다.지도 : { "*": { "ko": "녹아웃" } \t} – user210757

관련 문제