2016-01-13 22 views
1

我已经为Google地图配置了路径。然后我在不同的地方需要几次。我想传递一个语言参数到URL加载正确的本地化。可能吗?如何将URL参数添加到requirejs中的特定路径中

例如:

requirejs.config({ 
    paths: { 
     module: 'lib/module', 
     gmaps: 'http://GOOGLE_MAPS_URL' 
    } 
}); 

require(['module', 'async!gmaps' + '&language=pt-BR'], function() {}); 
+0

你试过了吗?你得到了什么结果? – Louis

+0

@Louis有错误。因为它试图加载''async!gmaps&language = pt-BR',并且没有这样的模块* gmaps&language = pt-BR *。 – equinox

回答

0

在我找到解决办法的那个时刻。我创建了一个返回返回正确的URL功能的模块根据所提供的语言:

requirejs.config({ 
    paths: { 
     module: 'lib/module', 
     getGmapsUrl: 'lib/getGmapsUrl' 
    } 
}); 

然后在LIB/getGmapsUrl.js:

define('getGmapsUrl', function() { 
    var gmapsBaseUrl = 'async!http://GOOGLE_MAPS_URL'; 
    return function (lang) { 
     return gmapsBaseUrl + '&language=' + lang; 
    }; 
}); 

而且我用这样的:

require(['module', 'getGmapsUrl'], function (module, getGmapsUrl) { 
    var gmapsUrl = getGmapsUrl('pt-BR'); // 'async!http://GOOGLE_MAPS_URL&language=pt-BR' 
    require([gmapsUrl], function() { 
     // here I have correct localization for google maps 
    }); 
}); 

它的工作原理,但它不是一个非常漂亮的解决方案。

相关问题