2012-07-30 4 views
1

를 사용하는 경우 일반적인 생각은 검색을 수행 한 후 대한 짧은 이름을 입력 할 수있는 옵션을 가지고있는과 함께, 비밀 오류 메시지를 던지는 Ember.JS와 타다 남은 데이터 검색 및 localStorage에 저장하고 나중에 드롭 다운 목록에서이를 검색, 다른 사용자와 현재의 URL을 공유 할 수있는 동안 그들이 동일한 검색을 볼 수 있습니다. 어떤 템플릿이 없기 때문에내가 엠버 응용 프로그램에 대한 저장된 검색 기능에서 일하고 있어요 라우터

이 뷰가 바이올린에 포함되어 있습니다 ('저장'을 클릭하면 사용자를 처리하는 URL의 엠버 Router 처리 검색 PARAMS 및 뷰의 조합을 통해 작동하지만 수없는 실행한다 포함 - 아래 참조). 그러나 엠버 - 데이터 컨트롤러 저장소 주입에서 줄기 나타납니다,

Uncaught TypeError: Cannot call method 'set' of undefined 

당신은 아래의 바이올린의 흔적을 볼 수있다 : 나는 응용 프로그램을 실행할 때마다

, 나는 다음과 같은 오류가 발생합니다. 불행하게도 Ember [데이터]에 대한 나의 지식은 이것이 어플리케이션의 나머지 부분과 어떻게 관련이 있는지 충분히 알 수 없습니다.

나는 독립적으로 작동하고 JSFiddle에서 그들을 실행해야하는 응용 프로그램의 관련 부분을 촬영했습니다,하지만 여전히 같은 오류가 발생합니다. 바이올린은 http://jsfiddle.net/fetcU/에 있습니다. 현재는 핸들 바 템플릿이나 그 바이올린에 아무것도 없으므로 문제에 기여하지 않습니다.

localStorage 어댑터 및 기타 부품은 라우터가 출시 될 때까지 독립적으로 작동하므로 라우터가 추가 될 때까지는 지금은 Checklist.initialize()에 의해 실행되는 코드와 관련 될 수 있습니다.

나는 다른 유사한 프로젝트 예제, 엠버 데이터 주어진 특히이 비교했습니다, 그리고 그것은 내가 잘못 여기서 뭘하는지 전혀 분명하지 않다. 나는 어떤 통찰력을 주셔서 감사합니다!

+0

jsfiddle이 (가) 아래로 내려갔습니다. ( –

+0

JSFiddle에서 타이밍이 잘못되었습니다 . –

답변

0

당신이 당신의 컨트롤러 클래스를 만드는 시도 했습니까? 따라서 Checklist.savedSearchController 대신 Checklist.SavedSearchController를 시도하십시오.

+0

그건 제가하는 말입니다. 나는 충분히 밝혀지지 않았다고 생각합니다. 그의 코드에서, 그는 그와 같은 somme 이슈를 가지고있다. –

3

우선 : 당신이 라우터와 응용 프로그램을 만들 때 스토어, 컨트롤러, 뷰의 인스턴스를 만들 필요가 없습니다. App.initialize()를 호출하면 ember가 인스턴스화 및 주입을 수행합니다.

이어서, 액세스 갖

  • 컨트롤러, 라우터를 통해합니다 (connectOutlets에서()) router.get xxx는 어플리케이션 예이다 (xxxController), 작성자 (기본 컨트롤러에 액세스하는 데) 또는 savedSearchController에 액세스하려면 savedSearch를 사용하십시오.
  • 또는 템플릿으로하여 썩 ('제어')를 호출하여 router.get에게 xxxView 행 ('저장')
  • xxxController를 호출하여 라우터의 저장소
  • 을 view.controller 라우터를 컨트롤러에서 불러 와서 this.get ('target')을 호출하십시오.

글쎄, 코드 수정을 시도하도록하겠습니다. 다시 붙어 때 지금 나를 보자 :)

+0

제안 사항을 무시하면서 실수로 @ tygirl76의 솔루션을 보았습니다. 그 사람의 대답을 다른 사람들이 볼 수있는 것으로 정확하게 표시했습니다.도움을 주셔서 감사합니다. 실제로 다른 곳에서 컨트롤러 등을 가져 오는 해킹 방법을 사용하는 대신 제 코드를 "엠버 방식"으로 변환하는 데 많은 도움이되었습니다. –

+0

+1에 대한 Thx :. 당신의 바이올린이 준비되면, 당신은 내가 그것을 리뷰 할 수 있기를 원합니다. –

관련 문제