我可以在javascript中调用t()而不是I18n.t()吗?
Is i possible to call t() instead of I18n.t() in javascript?
我正在使用 i18n-js 将语言环境加载到我的 js 应用程序中。当我在我的视图中使用翻译功能时,我希望能够只说t('Hello')
而不是I18n.t('Hello')
。如何让这样的别名工作?
import I18n from 'i18n';
const Hello = () => {
return (
<div>{I18n.t("hello", {name: "John"})}</div>
)
}
您可以将t
函数分配给window
:
window.t = I18n.t;
然后你可以只使用t('Hello')
.但是,正如@Thilo提到的,这可能会导致一些并发症。
更好的选择是编写一个小包装器:
function t(key){
return I18n.t(key);
}
@deceze建议的最佳选择是以下一行:
var t = I18n.t.bind(I18n);
单行,无论调用的范围如何,都应有效。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 我可以在javascript中调用t()而不是I18n.t()吗?
- 如何在我的javascript文件中调用各种goog.i18n.TimeZone实例方法
- 调用jQuery后.i18n库我得到未捕获的TypeError:字符串不是我的登录方法中的函数
- 从内容脚本调用chrome.i18n.getMessage(..)