【问题标题】:TypeError: grid.columns[0] is undefined in Firefox Vaadin GridTypeError: grid.columns[0] 在 Firefox Vaadin Grid 中未定义
【发布时间】:2016-12-06 17:08:41
【问题描述】:

我正在使用 vaadin 网格。我明白了:

TypeError: grid.columns[0] 未定义

在 Firefox 中如标题所示。在 Chrome 中它正在工作。代码:

var grid = grid || document.querySelector('vaadin-grid');
HTMLImports.whenReady(function() {
    var json = '[["Blabla", true, "sdfsdfsd", "fsdsdfsdfsd fsdfds fsdf shfskd hds", 0, "39acbfa4-6d6b-4af9-b872-03fc70328183"]]';

    var testJSON = JSON.parse(json);
    grid.items = testJSON;

    // --> ERROR: undefined in firefox
    grid.columns[0].renderer = function(cell) {
        //...
    };    
});

为什么?

【问题讨论】:

  • 使用 console.log 并尝试在出错之前获取 grid 的值
  • 我在 grid.items = testJSON; 之后做了一个 console.log它显示了 vaadin 网格...: ...
  • @TieroL。 json 变量不包含有效的 JSON 字符串。这怎么能超过JSON.parse()
  • 确实如此。这是typo3流体(php)--->生成一个json数组,如:[[“Blabla”,true,“sdfsdfsd”,“fsdsdfsdfsd fsdfds fsdf shfskd hds ...”,0,“39acbfa4-6d6b-4af9-b872- 03fc70328183" ]]
  • 我删除了typo3流体的东西,所以它可能更容易理解。

标签: javascript html polymer vaadin-grid vaadin-elements


【解决方案1】:

找到这个后:Polymer 1.0 on firefox ReferenceError: Polymer is not defined

我可以解决我的问题:

使用window.addEventListener('WebComponentsReady', function(e){ 代替

HTMLImports.whenReady(function() {

像这样:

var grid = grid || document.querySelector('vaadin-grid');
window.addEventListener('WebComponentsReady', function(e) {
  var json = '[["Blabla", true, "sdfsdfsd", "fsdsdfsdfsd fsdfds fsdf shfskd hds", 0, "39acbfa4-6d6b-4af9-b872-03fc70328183"]]';

  var testJSON = JSON.parse(json);
  grid.items = testJSON;

  grid.columns[0].renderer = function(cell) {
    //...
  };    
});

【讨论】:

    猜你喜欢
    • 2018-06-01
    • 2020-11-20
    • 2021-06-06
    • 1970-01-01
    • 2020-05-21
    • 2013-03-29
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    相关资源
    最近更新 更多