2017-10-19 8 views
1

最近(GitHubを参照してください)私はapp-localize-behaviorポリマーを見上げると、私は、彼らがFunctionとしてlocalize()方法を入力した見た:app-localize-behavior.htmlからPolymer:要素のプロパティ値でビヘイビアのプロパティ関数を呼び出しますか?

抜粋:

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

関連する問題