2013-08-09 2 views
2

인데, this.controllerapplication_controller 인 경우이보기의 value을 어떻게 another_controller에 바인딩 할 수 있습니까? 보기는 TextField입니다.Ember.js 컨트롤러 바인딩 값보기

보기 (이보기의 컨텍스트에서 application_controller가) :

CellarRails.SearchTextField = Ember.TextField.extend({ 
    templatename: 'index', 
    insertNewline: function(){ 
    this.get('controller').transitionToRoute('search'); 
    } 
}); 

검색 컨트롤러 :

CellarRails.SearchController = Ember.ArrayController.extend({ 
    content: [], 
    query: '' 
}); 

검색 경로 (여기 내가 원하는 검색 컨트롤러의 쿼리 속성을 잡아 뷰와 바인딩) :

CellarRails.SearchRoute = Ember.Route.extend({ 
    serializeParams: function(controller) { 
    return { 
     query: controller.get('query') 
    }; 
    }, 
    setupController: function(controller, context, params) { 
    console.log(params); 
    controller.set('context', CellarRails.Track.find(params)); 
    } 
}); 

애플리케이션 컨트롤러를 확장하고 needs: 'search'이 있으니 this.controller.search.get('query') 검색 컨트롤러의 쿼리 속성을 가져올 수 있습니까?

+0

몇 가지 코드를 공유 할 수 있습니까? – Vadim

+0

shure, 업데이트 된 포스트를 확인하십시오. – xamenrax

답변

3

에 당신은 거의 여기에 질문을 직접 대답 한 마지막 비트가 있음을 전달합니다.

요구 사항을 추가 한 후에 당신은 할 수 있습니다 :

this.get('controllers.search').get('query'); 

는 도움이되기를 바랍니다.

+1

@ Nikita, 귀하의보기가 귀하의 컨트롤러에 대해 알지 못하는 것이 가장 좋은 방법이지만 그 반대의 경우입니다. 보기가 바인드되는 컨트롤러에서 계산 된 속성을 만들고 CP에서 컨트롤러에 액세스 할 수있는 계산 된 속성을 만듭니다. 검색. 쿼리. IMO가 그렇게 할 수 있습니다. – intuitivepixel

+3

IIRC, 이중 '필요는 없습니다. this.get ('controllers.search.query')도 작동해야합니다. –

+0

@JavonHarper가 댓글을 주셔서 감사합니다, 당신은 절대적으로 옳습니다! – intuitivepixel

2

그냥 몇 가지주의 사항, 예 응용 프로그램 컨트롤러를 확장하고 추가 할 수 있습니다 요구는 그래서 저를 무시한다면 어쩌면이 부분은, 당신을 위해 노력하고, 또한

CellarRails.ApplicationController = Ember.Controller.extend({ 
    needs: ['search'], 
    someMethod: function(){ 
     // this would be the query property from the search controller 
     var query = this.get('controllers.search.query'); 
    } 
}); 

검색,하지만 난 setupController 훅을 믿지 않는다 3 개의 매개 변수가 있습니다.
setupController: function(controller, model) { 
    controller.set('model', model); 
     or 
    this._super(controller, model); 
    } 

그리고 모델 후크는 PARAMS을 얻는 하나이며, 엠버는 설치 컨트롤러

+0

맞아요, 나는 그 em-query 라이브러리를 사용하는 것을 발견하지 못했습니다. – xamenrax

관련 문제