Polymer 1.0是否有现成的图表元素?

时间:2015-07-31 05:07:26

标签: pie-chart polymer-1.0

我想在Polymer 1.0应用程序中添加一个饼图。我使用了chart-elements和Polymer 0.5,但是当迁移到1.0时它停止了工作!

我还没有找到1.0的任何内容。 1.0根本没有现成的图表元素吗?寻求专家帮助。

提前致谢。

修改 根据Ben的建议,我尝试使用google-chart组件,这就是我所做的。但图表没有渲染。

第1步:我使用google-chart

安装了bower install --save GoogleWebComponents/google-chart

第2步:使用yo polymer:el custom-pie-chart创建自定义元素,如下所示:

<dom-module id="custom-pie-chart">
    <style>
        :host
        {
            display: -webkit-flex;
            display: -ms-flex;
            display: flex;
            margin: 0;
            padding: 0;
            width: 400px;
            height: 300px;
        }
        #chartdiv
        {
            width: 100%;
        }
        google-chart
        {
            height: 300px;
            width: 50em;
        }
    </style>
    <template>
        <link rel="stylesheet" href="custom-pie-chart.css">
        <div id="chartdiv">
        <google-chart
            type='pie'
            options='{"title": "Distribution of days in 2001Q1"}'
            cols='[{"label":"Month", "type":"string"}, {"label":"Days", "type":"number"}]'
            rows='[["Jan", 31],["Feb", 28],["Mar", 31]]'>
        </google-chart>
        </div>
    </template>
</dom-module>
<script>
    (function () {
        Polymer({
            is: 'custom-pie-chart',
            ready: function () {

            }
        });
    })();
</script>

第3步:在google-chart

中添加了对custom-pie-chart和我的自定义元素elements.html的引用

第4步:在我的index.html中添加了custom-pie-chart,内容如下:

<post-card id="sales-info" title="Points from customer">
  <custom-pie-chart></custom-pie-chart>
</post-card>

但是图表没有渲染。区域如此空白:

enter image description here

注意:我在控制台(Chrome)上也收到以下错误

Uncaught (in promise) TypeError: Request method 'POST' is unsupported
at TypeError (native)
at http://localhost:3000/bower_components/sw-toolbox/sw-toolbox.js:20:430

我删除了google-chart的所有引用,以检查这是否有责任。但它仍然出现了。

我做错了什么?请帮忙!

1 个答案:

答案 0 :(得分:6)

这会导致错误:

rows='[["Jan", 31],["Feb", 28],["Mar", 31]]'

因为Polymer只识别rows='[[...]]'并认为它是数据绑定。两个空格应该可以解决问题:

rows='[ ["Jan", 31],["Feb", 28],["Mar", 31] ]'