【问题标题】:Laravel and Vuejs - how do I do with TranslationsLaravel 和 Vuejs - 我如何处理翻译
【发布时间】:2016-04-20 20:53:19
【问题描述】:

我的 Laravel 应用中有几个选择输入需要翻译(我管理多种语言)。

这是一个例子:

{!!  Form::select('gender', ['M'=> trans('core.male') ,
                            'F'=> trans('core.female') ,
                            'X'=> trans('core.mixt') , ],
                            null, ['class' => 'form-control',"v-model"=>"gender"]) !!}

所以,基本上,我想要实现的是能够获得“性别”的价值。

现在,我可以获取 id ('M', 'F', 'X')

事情是我不能在我的 js 中声明,因为 trans('core.male') 不能在 .blade.php 文件之外工作

所以,我应该做一个web服务,通​​过AJAX调用,但是真的有必要吗???

或者我可以在我的 .blade.php 中的 js 变量中设置每个变量,但是再一次,如果我有大列表,那就不太好。

我更喜欢轻一点的。

知道如何在不生成胖代码的情况下解决它吗???

【问题讨论】:

  • 是的,我已经检查过了。现在,这似乎并不容易,而且我发现的资源很少。我可能会实施它,但稍后。这是解决这个问题的唯一方法吗?

标签: laravel internationalization vue.js


【解决方案1】:

您可以给元素一个id 属性,然后使用javascript 在计算变量中找到所选选项的文本:

刀片:

{!!  Form::select('gender', ['M'=> trans('core.male') ,
    'F'=> trans('core.female') ,
    'X'=> trans('core.mixt') , ],
    null, ['class' => 'form-control',"v-model"=>"gender","id"=>"gender"]) !!}

js:

....
computed:{
    selectedText: function () {

      this.gender = this.gender //this forces a re-compute when this.gender changes

      var sel = document.getElementById('#gender');

      if (sel.selectedIndex == -1)
        return null;

      return sel.options[sel.selectedIndex].text;
    }
}
....

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2022-01-04
    • 2013-08-02
    • 1970-01-01
    相关资源
    最近更新 更多