2017-02-24 3 views
2

엠버 앱을 1.10에서 1.11로 업데이트하는 중입니다. 문제가 발생합니다. 더 이상 작동하지 않는 간단한 정렬 토글 도우미가 있습니다. 도우미의1.11.1로 업데이트 중 - 도우미가 액세스 할 수 없습니다.

{{#link-to "foo" (sort-toggle "id")}} 

코드 :

Ember.HTMLBars._registerHelper('sort-toggle', function(params, hash, options, env) { 
    var target = this.get('controller.sortTarget') || hash.target, 
     view = env.data.view, 
     field = params[0]; 

    hash = {}; 
    hash[target] = view.getStream(this.get('controller').createToggleString(field)); 

    options = { 
     hash: hash, 
     data: options.data 
    }; 

    return Ember.Handlebars.helpers['query-params'].helperFunction.call(this, [], hash, options, env); 
}); 

우리가 엠버 - CLI 0.2.3 (타다 남은 1.11.1)으로 업데이트하기 때문에이 지금 정의되지 않은 것 같습니다 그래서 우리가보기에 액세스 할 수 없습니다 또는 컨트롤러.

변경 로그에 관련 변경 사항이 없습니다. 변경된 내용은 무엇입니까? 어떻게 마이그레이션해야합니까?

답변

0

@acorncom이 언급 한 것처럼 문제는 우리가 개인 API 인 _registerHelper을 사용하고 있다는 것입니다.

보기가 여전히 env.data.view에 액세스 할 수 있고 컨트롤러가 단지 get()에 불과하므로 우리는 지금 당장이 문제를 해결할 수있었습니다. 그러나 이것은 일시적인 해결책 일 뿐이며 곧 리팩토링해야 할 것입니다.

새로운 코드 :

Ember.HTMLBars._registerHelper('sort-toggle', function(params, hash, options, env) { 
    var view = env.data.view, 
     field = params[0], 
    target = view.get('controller.sortTarget') || hash.target; 

    hash = {}; 
    var toggleString = view.get('controller').createToggleString(field); 
    hash[target] = view.getStream(toggleString); 

    options = { 
     hash: hash, 
     data: options.data 
    }; 

    return Ember.Handlebars.helpers['query-params'].helperFunction.call(this, [], hash, options, env); 
}); 
3

정확하게 기억한다면 1.10 -> 1.11 업그레이드는 내 고객이 잠시 차단 된 부분입니다. 1.11과 1.12는 도우미에 대한 훌륭한 지원을하지 못했고, 1.13에서 도우미의 업데이트 된 버전을 가져 왔을 때 이전 버전과는 조금 다르게 작동했습니다. 여기에 해당

자세한 내용 :

  1. https://github.com/emberjs/ember.js/issues/11080
  2. https://github.com/emberjs/rfcs/blob/master/text/0053-helpers.md
  3. https://github.com/mixonic/rfcs/blob/helper-listing/active/0000-helper-listing.md
  4. 새로운 헬퍼도 여기에 1.13 블로그 게시물에 언급되어 http://emberjs.com/blog/2015/06/12/ember-1-13-0-released.html 내 고객에 대한

, 우리는 점프를 1.13.3 (나는 믿는다)과 양쪽 ember-canember-i18n은 이러한 변경의 영향을 받았으며 우리는 이들을 크게 사용했습니다.

희망 하시겠습니까?