2017-10-19 67 views
1

最近我擡頭聚合物app-localize-behavior,我看到他們輸入的localize()方法Function(見GitHub):聚合物:在元素屬性值中調用行爲的屬性函數?

摘自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

使用computed property調用localize(...)

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

demo

+0

真棒。但是:還有其他屬性需要本地化,但這些不是字符串,而是對象。有計算這個的機會嗎?他們應該返回一個JSON對象 – sebastian

相關問題