聚合物中不会在页面上显示计算的自定义属性

SyrupandSass

我正在尝试在项目的页面上获取计算所得的属性,但似乎没有任何效果。我从Firebase数据库中获取了一些值的总和,并试图将其作为自定义属性的值返回。我知道函数本身可以工作,但是没有显示返回值。是否有我做不正确的事情,或者可以更改的事情?谢谢!

这是应该显示值(countedWords属性)的位置:

<h1>[[theProject.title]]</h1>
  <p class="lead">[[theProject.author]]</p>
  <p><span>[[theProject.category]]</span> <span>[[theProject.genre]]</span></p>
  <p>Word Count: <span>{{countedWords}}</span> of <span>[[theProject.goal]]</span></p>

这是返回值的属性和函数:

properties: {
  ...
  countedWords: {
    type: String,
    computed: '_countedWords(pattern)'
  }
},

_countedWords: function(pattern) {
  // var pathname = window.location.pathname;
  // var project = pathname.substring(pathname.lastIndexOf('/'));
  // var projId = project.substring(1);
  var total = 0;
  var keys = [];
  var counts =[];

  var ref = firebase.database().ref().child('/scenes/' + pattern).orderByChild('wordcount');
  ref.once('value', function(snap) {
    snap.forEach(function(item) {
      var itemVal = item.val();
      keys.push(itemVal);
    });

    for (i=0; i < keys.length; i++) {
      counts.push(keys[i].wordcount);
    }

    function getSum(total, num) {
        return total + num;
    }

    total = counts.reduce(getSum);
    words = total.toString();
    console.log(words);
    return words;
  });
},
托尼19

计算属性的函数实际上未返回任何内容。return words语句将值返回到到的回调ref.once()(实际上没有任何作用),而不是_countedWords()由于的结果ref.once()是异步的,因此您必须从计算属性切换到pattern该set上的观察者this.countedWords

Polymer({
  properties: {
    pattern: String,
    countedWords: {
      type: Number,
      value: 0
    }
  },

  observers: ['_countedWords(pattern)'],

  _countedWords: function(pattern) {
    // ...
    ref.once('value', function(snap) {
      // ...
      this.countedWords = words;
    }.bind(this));
  },

  // ...
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自定义插件不会在Minecraft中显示吗?

聚合物自定义元素属性为布尔型值

Matplotlib不会在自定义图例中显示剖面线

切换自定义元素“聚合物”中的纸张对话框

聚合物2,从父级更改自定义元素中的CSS

如何使用存储在自定义聚合物2.0元素属性中的对象

颜色不会在自定义类别中显示

WordPress自定义模板不会在世界其他地方显示

自定义帖子类型“单个”不会在wordpress中显示我的代码

聚合物:自定义过滤器

聚合物布局属性可在整个视口上拉伸自定义元素

RowDeselect不会在自定义MvxTableViewSource中触发

聚合物查询选择器无法在聚合物元素中找到自定义聚合物元素

在自定义聚合物元素中,我需要在何处安装super.attach?

聚合物核心图标不会在FireFox中呈现

聚合物自定义元素将不会样式化

Cocos2d-js:自定义TTF字体不会在Android中显示

attributeChanged不会在2向数据绑定聚合物上触发

如何将属性从自定义聚合物元素绑定到angularjs

在单个产品页面上显示相关产品中的自定义属性

如何在自定义聚合物元素中处理paper-dropdown-close事件

基于父页面的自定义元素“聚合物”对话框的大小/位置

如何使Disqus注释javascript代码在聚合物自定义元素中工作

具有双向属性绑定的聚合物自定义元素

自定义视图不会在带有弹性搜索的 Django Haystack 中显示结果

spring boot 不会在页面上显示对象列表

自定义元素模板中的聚合物 3 自定义元素

具有自定义颜色属性的 TextView 不会在布局预览中呈现

Django 模板不会在页面上显示模型对象属性