聚合物。$过滤器中未定义

时间:2015-04-04 03:38:53

标签: polymer

我有一个名为formatDate的函数。此函数使用this.$来访问全局元素中的全局函数。唯一的问题是我收到的错误是this.$未定义。我不确定为什么会这样。它在就绪回调中定义。

编辑:添加了代码示例。我的问题在formatDate函数中可以看到。 this.$未定义。

<link rel="import" href="app-globals.html">

<polymer-element name="message-element" attributes="message">
  <template>
    <style>
      :host {
        display: block;
      }
      .message {
        padding: 10px;
        display: inline-block;
        margin-bottom: 6px;
        margin-right: 6px;
        margin-left: 6px;
        color: white;
        clear: both;
        max-width: 700px;
      }

      .sent-message {
        background-color: #3F51B5;
        float: right;
      }

      .received-message {
        background-color: #C5CAE9;
        float: left;
      }

      .sent-time {
        font-size: 70%;
        opacity: .54;
      }
      .clear {
        clear: both;
        display: block;
      }
    </style>

    <div class="message {{message.type}}-message">
      <app-globals id="globals"></app-globals>
      <div>
          {{message.message}}
      </div>
      <div class="sent-time">
          {{message.sentDateTime | formatDate}}
      </div>
    </div>
  </template>
  <script>
    Polymer({
      formatDate: function(dateStr)
      {
        //console.log(this.$);
        if(this.$ != null)
        {
          return this.$.globals.formatDate(dateStr);
        }
      }
    });
  </script>
</polymer-element> 

0 个答案:

没有答案