在下划线模板中进行项目查找/映射

时间:2016-03-05 01:21:16

标签: javascript underscore.js underscore.js-templating

我正在尝试用下划线进行对象查找:

var imdbTypeMapping = {
  'movie': 'Movie',
  'short': 'Short Film',    
}

var detailsTmpl = _.template('<p<%= imdbTypeMapping[item.titleType] %></p>'

虽然我收到以下错误:imdbTypeMapping is not defined。我如何在下划线模板中进行项目查找?

2 个答案:

答案 0 :(得分:2)

这对我有用:

var imdbTypeMapping = {
    'movie': 'Movie',
    'short': 'Short Film',    
}

var detailsTmpl = _.template('<p><%= imdbTypeMapping[item.titleType] %></p>');

var text = detailsTmpl({
    item: {
       titleType: 'movie'
    }
});

console.log(text);

答案 1 :(得分:1)

@Will的回答也很棒。但另外,你也可以这样做

var imdbTypeMapping = {
    'movie': 'Movie',
    'short': 'Short Film',    
}

var detailsTmpl = _.template('<p><%= imdbTypeMapping[item.titleType] %></p>', {
    item: {
       titleType: 'movie'
    }
});