杜伦达尔谷歌翻译 [英] Durundal Google Translate
本文介绍了杜伦达尔谷歌翻译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在 Durundal Shell.js、shell.html 中绑定谷歌翻译?
How can I bind Google translate in Durundal Shell.js , shell.html?
html
<div id="google_translate_element"></div>
脚本
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({ pageLanguage: 'en', autoDisplay: false }, 'google_translate_element');
}
推荐答案
Durandal 不在视图中呈现脚本标签.为了渲染它们,您应该使用 knockout 自定义绑定:
Durandal doesn't render script tags within views. To render them, you should use knockout custom bindings:
ko.bindingHandlers.googleTranslate = {
update: function( element, valueAccessor, allBindingsAccessor, viewModel, bindingContext){
var googleElement = valueAccessor();
$(element).html('<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> <script>function googleTranslateElementInit() { new google.translate.TranslateElement({ pageLanguage: "en", autoDisplay: false }, " + 'googleElement' + ");}</script>');
}
};
在您的 shell.html 中使用它:
Use it in your shell.html:
<div id="google_translate_element"></div>
<div data-bind="googleTranslate:'google_translate_element'"></div>
这篇关于杜伦达尔谷歌翻译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文