【问题标题】:AngularJS translate differenceAngularJS翻译差异
【发布时间】:2016-10-14 22:01:19
【问题描述】:

这两种方式加翻译有什么区别:

<div class="row" translate="{{::'newvisitormodal-bannerimage'}}">


<div class="row">{{::'newvisitormodal-bannerimage' | translate}}</div>

如果出现这样的占位符,如何使用第一种方法:

<input id="txtresetPassword" type="password" placeholder="{{::'reset-password-enternewpassword' | translate}}" >

【问题讨论】:

    标签: angularjs angular-translate


    【解决方案1】:

    在第一个translate 用作指令,它是一个链接函数,它返回值作为指令实现中提到的逻辑。

    在第二种方法中,newvisitormodal-bannerimage 将是翻译的关键。它从翻译 JSON 中获取翻译后的值。

    但推荐的方法是第一种,因为第二种方法已被弃用。

    据我所知,这个问题已经回答了

    看到这个

    <input placeholder="Please Enter Your Password" translate translate-attr-placeholder="text" translate-value-browser="{{reset-password-enternewpassword}}">
    

    https://stackoverflow.com/a/30116300/3156647

    【讨论】:

    • 在第二种情况下,我遇到了不能随机转换为翻译的问题。所以我很困惑,是不是一些异步行为。
    • 我可以获得折旧的参考吗?
    • 使用翻译过滤器很棒,但使用翻译指令更好。事实证明,一个视图中有太多的过滤器会设置太多的监视表达式,这就是为什么 angular-translate 还提供了一个指令来翻译视图层中的内容。
    【解决方案2】:

    在第一种情况下, translate 是一个指令。 一秒钟后,它就是一个过滤器。

    所以主要区别在于如何评估结果值。在第一种情况下,它将使用链接功能完成,然后根据指令逻辑重新评估。在第二种情况下,该值将传递给过滤器,并将在每个摘要中重新评估。 但在这两种情况下,您都使用一次绑定。所以你的价值永远不会改变。这意味着无需过滤,因为每个摘要都会调用它。但可能对指令有意义,因为它可以有更“聪明”的逻辑

    【讨论】:

    • 在第二种情况下,我遇到了不能随机转换为翻译的问题。所以我很困惑,是不是一些异步行为。
    • 删除一次性绑定过滤器,我希望一切都会好起来的。这就是为什么我不喜欢过滤器
    • 我没有得到这个。为什么要取消一次性绑定?如果我到处都使用第一种方法呢?为什么提供第二种方法。就像我应该在哪些情况下使用第二种方法
    • 因为...首先,您现在应该过滤器触发每个摘要。如果有多个摘要,则过滤器将触发几次。当未定义的值返回一次绑定时,使用一次绑定创建的 $watch 不会取消注册。但是当过滤器返回另一个值时,手表将被杀死。而当真正的价值来临时,它不会被渲染。像这样。
    • 在占位符的情况下如何使用第一种方法...查看我编辑的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    相关资源
    最近更新 更多