0

我有一个我这样称呼的翻译功能:_(“我的文字”)。

我正在尝试构建一个数组:

    var data = {
                        _("region"):[
                            {"id": "vignoble","name": _("Vineyard") },
                            {"id": "sousvignoble","name": _("Sub Vineyard") },
                            {"id": "soussousvignoble","name": _("Sub Sub Vineyard") },
                            {"id": "appellation","name": _("Appellation") },
                            {"id": "denomination","name": _("Denomination") }
                        ]};

它非常适合翻译属性“名称”:_(“我的文本”),但会为第一级 _(“区域”)抛出“语法错误:缺少:属性 id 之后”。

我尝试将其替换为: 1. function(){_("region")} 2. 定义一个变量并将 _("region") 替换为变量,但打印的是变量的名称而不是其值

任何想法将不胜感激!

4

1 回答 1

2

您不能在对象文字中使用动态属性名称。您可以在创建对象后使用括号表示法分配属性:

var data = {};
data[_("region")] = [...];
于 2013-09-03T20:55:36.843 回答