Polymer:在元素属性值中调用行为的属性函数?

时间:2017-10-19 05:17:49

标签: properties polymer polymer-1.0 behavior

最近我查找了Polymers 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,否则它也没有定义。

我怎么能解决这个问题?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

使用调用localize(...)的{​​{3}}:

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

computed property