2017-07-04 60 views
0

我在下面有这段代码,我想用undercorejs来显示json文件中的文本。我需要修改该部分,如下面的评论所示:用js和underscore.js显示代码的问题

我试图复制它,但它导致错误并且不显示任何内容。有什么建议么?对不起,如果这是一个愚蠢的问题,但我是编程新手。

hold.options(工具提示对象)= { (基于自动生成部分属性):{ (适当地基于所ITEMNAME自动生成):{ 吨:item.Texts,
} }

var log = function(contents) { 
    if (_.isArray(contents)) { 
    _.each(contents, function(e, i, l) { 
     log(e); 
     $('#result'); 
     $('#result').append('</br></br>'); 
    }); 
    } else { 
    $('#result').append(contents); 
    } 
}; 

var ty = [{ 
    "Language": "en-GB", 
    "Section": "Sales&Marketing", 
    "ItemName": "CalculationType", 
    "Texts": "Having selected the account heading select the calculation ..." 
}, { 
    "Language": "en-GB", 
    "Section": "Taxes", 
    "ItemName": "Save", 
    "Texts": "The Master Tax Table has been pre populated with the current UK, ..." 
}]; 
var out = []; 
_.each(ty, function(item, key) { 
    var hold = {}; 

//Part that needs to change 
    hold.options = { 
    Taxes: { 
     Save: { 
     t: item.Texts, 
     } 
    } 
    }; 
    out.push(hold) 
}); 
_.each(out, function(item) { 
    log(item.options.Taxes.Save.t + '<br>'); 
}) 

回答

1

这似乎工作:

Fiddle

//Part that needs to change 
    hold.options = {}; 
    hold.options[item.Section] = {}; 
    hold.options[item.Section][item.ItemName] = {t: item.Texts}; 
    out.push(hold) 
}); 
_.each(out, function(item) { 
    if(item.options.Sales !== undefined && item.options.Sales.Type !== undefined){ 
    log(item.options.Sales.Type.t); 
    } 
    else if(item.options.Taxes !== undefined && item.options.Taxes.Save !== undefined){ 
    log(item.options.Taxes.Save.t); 
    } 
+0

我发布的代码的作品..它是当我修改它类似于上面的黄色框,它不工作! – noel293

+0

那么你究竟如何修改它,然后会发生什么?你可以使用我的Codepen来显示确切的问题。 –

+0

它必须遵循这种格式 - > hold.options(tooltips object)= {(基于自动生成的部分的属性):{(正确基于itemName自动生成):{t:item.Texts, }} – noel293