【问题标题】:how to put laravel echo function in javascript如何在javascript中放置laravel echo函数
【发布时间】:2020-10-19 01:07:14
【问题描述】:

如何在javascript数据表中的字符串中使用echo

className:'text-center', 
data:'stage', 
name:'stage',
render: function(data)
{
    return '<td class="text-center">{{trans('stage.'' + data.stage + ')}}</td>';
}

错误:语法错误,意外 ''+ data.stage +'' (T_CONSTANT_ENCAPSED_STRING),需要 ',' 或 ')'

我尝试过使用反冲进行转义,但它仍然看起来不正确。

<td class="text-center">{{trans('stage.'.$sub->stage)}}</td> 
//this is what i want to display if i were to use laravel blade

【问题讨论】:

    标签: javascript laravel


    【解决方案1】:

    Blade 在您点击页面之前呈现。所以你不能像这样做你想做的事。我建议使用 xDebug 来看看它是如何更一致地工作的

    如果您想在变量 stage 中包含文本的翻译变体,您需要获取一些 HTML 并将其传递回渲染,例如通过 ajax 请求

    您可以编写/使用将为您翻译文本的 javaScript 助手。

    或(最佳)

    您可以在 stage 上编写一个访问器/getter,它将在您的 DataTable 接收到它之前对其进行翻译

    这意味着在Model 属性stage 的来源处写入以下内容。请注意,前缀方法名称以“get”和“Attribute”作为后缀。

        public function getStageAttribute()
        {
            return trans($this->stage);
        }
    

    更多信息请查看https://laravel.com/docs/8.x/eloquent-mutators#defining-an-accessor

    【讨论】:

    • 谢谢,我认为后者是最好的方法
    猜你喜欢
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 2021-02-24
    • 2013-06-24
    • 2016-02-02
    • 2017-01-21
    相关资源
    最近更新 更多