杜伦达尔谷歌翻译 [英] Durundal Google Translate

查看:19
本文介绍了杜伦达尔谷歌翻译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆