Javascript 如何从聚合dom模块内的函数返回数据?

Javascript 如何从聚合dom模块内的函数返回数据?,javascript,polymer,web-component,Javascript,Polymer,Web Component,我是polymer的新手,所以在这里我尝试使用polymer dom模块中的函数返回一些简单数据,其中: Username and date: <p>{{test()}}</p> 用户名和日期:{{test()} 应该显示名称和日期,但实际上不返回任何内容。我的代码有问题吗?我还在chrome中使用了调试器,当调用return时,对象实际上就在那里 <dom-module id="user-list-module"> <template>

我是polymer的新手,所以在这里我尝试使用polymer dom模块中的函数返回一些简单数据,其中:

Username and date: <p>{{test()}}</p>
用户名和日期:{{test()}

应该显示名称和日期,但实际上不返回任何内容。我的代码有问题吗?我还在chrome中使用了调试器,当调用return时,对象实际上就在那里

<dom-module id="user-list-module">
  <template>
      <paper-material elevation="1">
        Username and date: <p>{{test()}}</p>
      </paper-material>
  </template>

  <script>
    (function() {
      Polymer({
        is: 'user-list-module',
        properties: {
            username: String,
            joined: Date,
        },
        test: function () {
          this.username = '';
          this.joined = '';
          var fb = new Firebase('https://blistering-torch-8317.firebaseio.com/users/public/');
          fb.on('value', function(snapshot) {
            snapshot.forEach(function(childSnapshot){
              var key = childSnapshot.key();
              var childData = childSnapshot.val();
              this.username = childData.username;
              this.joined = childData.date.split(' ').slice(0, 4).join(' ');
              return this.username + ' ' + this.joined;
            });
          })
        }
      });
    })();
  </script>
</dom-module>

用户名和日期:{{test()}

(功能(){ 聚合物({ 是:'用户列表模块', 特性:{ 用户名:String, 加入日期:, }, 测试:函数(){ this.username=''; 这个。加入=“”; var fb=新的Firebase('https://blistering-torch-8317.firebaseio.com/users/public/'); fb.on('value',函数(快照){ snapshot.forEach(函数(childSnapshot){ var key=childSnapshot.key(); var childData=childSnapshot.val(); this.username=childData.username; this.join=childData.date.split(“”).slice(0,4).join(“”); 返回this.username+“”+this.joined; }); }) } }); })();

中的所有数据绑定都需要包装在
中。像这样:

Username and date: <p><span>{{test()}}</span></p>
用户名和日期:{{test()}


中的所有数据绑定都需要包装在
中。像这样:

Username and date: <p><span>{{test()}}</span></p>
用户名和日期:{{test()}


中的所有数据绑定都需要包装在
中。像这样:

Username and date: <p><span>{{test()}}</span></p>
用户名和日期:{{test()}


中的所有数据绑定都需要包装在
中。像这样:

Username and date: <p><span>{{test()}}</span></p>
用户名和日期:{{test()}

函数test()不返回任何内容(返回内容的是“值”事件处理程序)

我建议您改用firebase聚合物元素:

或者将“test()”中的firebase代码移动到“ready()”函数中,并将“test()”简单地设置为“return this.username+“”+this.join;”,如果这符合您的意图

TBH,因为快照似乎是一个集合(即前缀()意味着不止一个用户名+连接),所以您想要的不是很清楚,但是您的HTML似乎只想要一个用户名+连接,并且属性声明也反映了这一点——也许您还想考虑有一个DOM重复模板吗?Hrm,也许您只希望快照的最后一个值是相关的。抱歉,这有点令人困惑。

函数test()不返回任何内容(返回内容的是“值”事件处理程序)

我建议您改用firebase聚合物元素:

或者将“test()”中的firebase代码移动到“ready()”函数中,并将“test()”简单地设置为“return this.username+“”+this.join;”,如果这符合您的意图

TBH,因为快照似乎是一个集合(即前缀()意味着不止一个用户名+连接),所以您想要的不是很清楚,但是您的HTML似乎只想要一个用户名+连接,并且属性声明也反映了这一点——也许您还想考虑有一个DOM重复模板吗?Hrm,也许您只希望快照的最后一个值是相关的。抱歉,这有点令人困惑。

函数test()不返回任何内容(返回内容的是“值”事件处理程序)

我建议您改用firebase聚合物元素:

或者将“test()”中的firebase代码移动到“ready()”函数中,并将“test()”简单地设置为“return this.username+“”+this.join;”,如果这符合您的意图

TBH,因为快照似乎是一个集合(即前缀()意味着不止一个用户名+连接),所以您想要的不是很清楚,但是您的HTML似乎只想要一个用户名+连接,并且属性声明也反映了这一点——也许您还想考虑有一个DOM重复模板吗?Hrm,也许您只希望快照的最后一个值是相关的。抱歉,这有点令人困惑。

函数test()不返回任何内容(返回内容的是“值”事件处理程序)

我建议您改用firebase聚合物元素:

或者将“test()”中的firebase代码移动到“ready()”函数中,并将“test()”简单地设置为“return this.username+“”+this.join;”,如果这符合您的意图


TBH,因为快照似乎是一个集合(即前缀()意味着不止一个用户名+连接),所以您想要的不是很清楚,但是您的HTML似乎只想要一个用户名+连接,并且属性声明也反映了这一点——也许您还想考虑有一个DOM重复模板吗?Hrm,也许您只希望快照的最后一个值是相关的。抱歉,这有点让人困惑。

原始代码中有两个问题:因为
方法上的
是异步的,所以
测试方法无法返回值。调用回调时,
test
已经返回

Username and date: <p><span>{{combine(firstname, joined)}}</span></p>
或不具备以下功能:

Username and date: <p><span>{{firstname}}</span> <span>{{joined}}</span></p>

原始代码中有两个问题:因为
on
方法是异步的,所以
test
方法无法返回值。调用回调时,
test
已经返回

Username and date: <p><span>{{combine(firstname, joined)}}</span></p>
或不具备以下功能:

Username and date: <p><span>{{firstname}}</span> <span>{{joined}}</span></p>

原始代码中有两个问题:因为
on
方法是异步的,所以
test
方法无法返回值。调用回调时,
test
已经返回

Username and date: <p><span>{{combine(firstname, joined)}}</span></p>
或不具备以下功能:

Username and date: <p><span>{{firstname}}</span> <span>{{joined}}</span></p>

原始代码中有两个问题:因为
方法上的
是异步的,所以您的