如何使用app-localize-behavior在函数或属性polymerJS中使用Localize

时间:2017-05-31 03:29:08

标签: javascript polymer polymer-1.0

本地化行为对我来说很好,但我不知道我是否可以在准备好的函数中使用它以及如何使用它。

如果我在html中使用{{localize('greeting')}},它的工作正常。但我需要通过功能

使用
initErrorMessage: function(loc) {
  return localize(loc);
},

我也需要在财产中使用。

datePickerRangeArray: {
    type: Array,
    value: function() {
      return [
        {"key": "!h8", "val": this.localize('last8hrs')},
        {"key": "!h12", "val": this.localize('last12hrs')},
        {"key": "!h24", "val": this.localize('last24hrs')},
        {"key": "!h168", "val": this.localize('last48hrs')},
        {"key": "current-day", "val": this.localize('CurrentDay')},
        {"key": "previous-day", "val": this.localize('PreviousDay')}];
    }
  }

我收到了这个错误。如何实现这一目标。提前谢谢。

2 个答案:

答案 0 :(得分:0)

首选attached而不是ready Polymer使用它并不能保证attributes'children's在准备好的回调中可用。

答案 1 :(得分:0)

使用this.async函数并使用空对象初始化,并使用异步函数在附加函数中添加本地化。

datePickerRangeArray: {
    type: Array,
    value: {}
  }


attached: function(){
   this.async(function(){
     datePickerRangeArray = [
        {"key": "!h8", "val": this.localize('last8hrs')},
        {"key": "!h12", "val": this.localize('last12hrs')},
        {"key": "!h24", "val": this.localize('last24hrs')},
        {"key": "!h168", "val": this.localize('last48hrs')},
        {"key": "current-day", "val": this.localize('CurrentDay')},
        {"key": "previous-day", "val": this.localize('PreviousDay')}];
    },10);   
}