2017-10-19 4 views
1

는 최근에 나는 폴리머 app-localize-behavior을 보면서 나는 그들이 (GitHub 참조) Functionlocalize() 방법을 입력했다 :Polymer : 요소 속성 값에서 비헤이비어의 속성 함수를 호출 하시겠습니까?

발췌 app-localize-behavior.html에서 :

localize: { 
    type: Function, 
    computed: '__computeLocalize(language, resources, formats)' 
}, 

를이 방법은 같은 데이터 바인딩에 완벽하게 잘 작동 <div>{{localize('welcome')}}</div>,하지만 내 요소 속성에서이 메서드를 어떻게 호출 할 수 있습니까? my-element.html에서

발췌 : 내가 좋아하는 뭔가를 시도

properties: { 
    _pageTitle: { 
     type: String, 
     value: this.localize('welcome') 
    } 
} 

을하지만이 때, 나는 Uncaught TypeError: this.localize is not a function를 얻을. 내 ready 메서드에서도 this.localize을 비동기 적으로 호출해야합니다. 그렇지 않으면 정의되지 않았기 때문입니다.

어떻게 문제를 해결할 수 있습니까?

미리 감사드립니다.

답변

2

사용 localize(...) 호출하는 computed property :

properties: { 
    _pageTitle: { 
    computed: 'localize("welcome")' 
    } 
} 

demo

+0

신난다. 그러나 : 다른 지역화해야 할 속성이 있지만 문자열이 아니라 객체입니다. 그걸 계산할 기회가 있습니까? JSON 객체를 반환해야합니다. – sebastian