简体   繁体   English

类型错误google.visualization.DataTable不是构造函数

[英]Type Error google.visualization.DataTable is not a constructor

I am trying to create a table using google chart, but it is returning the error of the contruct of the table method. 我正在尝试使用Google图表创建表,但是它返回表方法的构造错误。 I saw several references, but I think the error is something that is giving in the jsapi library, so google is not defining. 我看到了几个参考,但是我认为错误是jsapi库中给出的错误,因此google未定义。

> Uncaught TypeError: Cannot redefine property: Map
    at defineProperty (<anonymous>)
    at gvjs_bc (jsapi_compiled_format_module.js:13)
    at jsapi_compiled_format_module.js:28
> Uncaught TypeError: Cannot read property 'Xc' of undefined
    at jsapi_compiled_default_module.js:33
> Uncaught TypeError: Cannot use 'in' operator to search for 'google' in undefined
    at gvjs_k (jsapi_compiled_format_module.js:33)
    at jsapi_compiled_bar_module.js:17
> Uncaught TypeError: Cannot use 'in' operator to search for 'google' in undefined
    at gvjs_k (jsapi_compiled_format_module.js:33)
    at jsapi_compiled_table_module.js:5
 > Uncaught (in promise) TypeError: google.visualization.DataTable is not a constructor
    at drawChartUsersActive (UsersActive:280)
    at drawCharts (UsersActive:276)
    at loader.js:248

This is my html code, as you can see it is very simple, I'm just trying to plot the table, but always returns me these errors 这是我的html代码,如您所见,它非常简单,我只是想绘制表格,但总是将这些错误返回给我

<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
    <script src="https://www.gstatic.com/charts/loader.js"></script>
    <meta name="layout" content="bootstrap">
  </head>
  <body>
    <div class="cabecalho"></div>
    <div id="table_div"></div>

    <script type="text/javascript">
      google.charts.load('current', {
        packages: ['bar', 'corechart', 'table'],
        callback: drawCharts
      });

      function drawCharts() {
        drawChartUsersActive();
      }

      function drawChartUsersActive() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Name');
        data.addColumn('number', 'Salary');
        data.addColumn('boolean', 'Full Time Employee');
        data.addRows([
          ['Mike',  {v: 10000, f: '$10,000'}, true],
          ['Jim',   {v:8000,   f: '$8,000'},  false],
          ['Alice', {v: 12500, f: '$12,500'}, true],
          ['Bob',   {v: 7000,  f: '$7,000'},  true]
        ]);

        var table = new google.visualization.Table(document.getElementById('table_div'));

        table.draw(data, {showRowNumber: true, width: '100%', height: '100%'});
      }
    </script>
  </body>

</html>

Did you try to replace: 您是否尝试更换:

google.charts.load('current', {
    packages: ['bar', 'corechart', 'table'],
    callback: drawCharts
  });

  function drawCharts() {
    drawChartUsersActive();
  }

by: 通过:

google.charts.load('current', {'packages':['table']});
google.charts.setOnLoadCallback(drawChartUsersActive());

It's just what is written in the doc, so maybe it works ;) 它就是文档中所写的内容,因此也许可行;)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM