javascript - 在 Polymer 回调函数中访问 div

标签 javascript polymer google-visualization polymer-1.0 polymer-starter-kit

我有一个基本的 Polymer 应用程序设置(抽屉中有 3 个 View 的示例应用程序之一)。我正在尝试在每个 View 中动态显示 Google 图表。我在 Polymer Ready() 函数中加载 google 图表,并在 setOnLoadCallback 上传入一个函数。在回调函数中,我尝试创建图表并将其添加到 div,但无法找到该 div。谁能告诉我我做错了什么?

<div id="chart_div" style="width: 900px; height: 500px"></div>

  <script>
    Polymer({
      is: 'my-view1',
      ready: function() {
        console.log('Polymer ready');

        google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(this.drawBasic);
      },

      drawBasic : function() {
        console.log('preparing to create chart');

        var chart_div = this.$.chart_div;
        console.log(chart_div);
      }
    });
  </script>

最佳答案

我认为你的错误在这里:

google.charts.setOnLoadCallback(this.drawBasic)

解决此问题的一种方法是使用 bind 方法。 Here您可以找到有关该方法的文档。所以,我想这会起作用:

google.charts.setOnLoadCallback(this.drawBasic.bind(this))

关于javascript - 在 Polymer 回调函数中访问 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39577935/

相关文章:

javascript - iframe 问题

javascript - 延迟加载外部 Javascript 文件

javascript - 将 svg 转换为 react-native-svg

localization - 使用 lit-element/lit-html 进行国际化/本地化的最佳实践

javascript - 使 Google Annotated Timeline 为缺失日期填充零

javascript - googleVis 图表工具提示 : Show percent (via formatter? )

javascript - 链接 Javascript 构造函数

javascript - Polymer Templatizer 实例和主机之间的数据绑定(bind)

javascript - 当一组 polymer 纸张切换按钮中的一个被按下时触发事件

javascript - 谷歌图表散点图中的不同符号