In this jsBin,我想为['Colorado', 'South Dakota']属性声明性地预加载元素selected

When I open this jsBin,我希望看到以下内容:


successfully一个成功加载的页面。
✅美国的轮廓图
✅在左上方的读数selected中打印Colorado,South Dakota变量。
Colorado科罗拉多州和南达科他州已预先选择,颜色为蓝色。
the控制台中没有错误。


相反,我实际上看到以下内容:


successfully一个成功加载的页面。
✅美国的轮廓图
✅在左上方的读数selected中打印Colorado,South Dakota变量。
Colorado未预先选择科罗拉多州和南达科他州或蓝色。
console以下控制台错误:


控制台错误


  google is not defined




如何获得要在关键位置定义的google的值?

我已经隔离了问题down to the following lines of code

http://jsbin.com/zomejajibe/1/edit?html,控制台,输出

_drawChart: function() {
  console.log('A'); // Successfully logs to console
  // The key is to get "google" defined at the following line
  var dataTable = this.$.geochart._createDataTable(this.items); // "google" is not defined???
  console.log('dataTable: '); // Does not successfully log because crashes above
  console.log(dataTable);
  this.$.geochart._chartObject.draw(dataTable, this.$.geochart.options);
},

最佳答案

因此,您有一个问题,即在元素就绪之前,选择更改触发了触发器。

我在函数_selectedChanged上添加了10毫秒的超时,因此它将超时推送到事件循环的结尾。您可以将其更改为0毫秒。

http://jsbin.com/quzuyuwaha/1/edit?html,console,output

07-28 05:40