2016-12-06 100 views
0

我正在使用vaadin网格。我得到:TypeError:grid.columns [0]在Firefox中未定义Vaadin Grid

TypeError: grid.columns[0] is undefined

在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) { 
     //... 
    };  
}); 

为什么?

+0

使用的console.log和尝试只获得网格的价值b在你得到错误 – Mahi

+0

之前,我在grid.items = testJSON之后做了一个console.log;它显示了vaadin网格...: ... –

+0

@TieroL。 'json'变量不包含有效的JSON字符串。这怎么能通过'JSON.parse()'? – tony19

回答

0

发现此之后: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) { 
    //... 
    };  
});