【问题标题】:Javascript call inside Laravel Translation fileLaravel 翻译文件中的 Javascript 调用
【发布时间】:2019-10-01 07:25:59
【问题描述】:

带有翻译文件的 Laravel 5.8。我需要从翻译文件中调用 Javascript 函数。我最初的方法是这样称呼它:

'mentioned you in a <a href="javascript:postinfo(:post);">comment</a>'

这是来自我的刀片文件的调用:

{!! __('notifications.mentionTimelinePost', ['post' => $mention->data['post']]) !!}

由于不同语言的措辞和位置,我实际上需要在该翻译文件中使用它。我知道 Laravel 对 Blade 文件中的变量使用 :value 语法,这显然是 javascript:postinfo 不起作用的原因。我试图逃避它,但没有成功。

我怎样才能做到这一点?文档没有涵盖这种情况。

上面的链接是这样渲染的:

更新:我意识到我只需要重命名我提供给翻译文件的变量(或者可以重命名函数名称)。 ._.结案。

这很好用:{!! __('notifications.mentionTimelinePost', ['postid' =&gt; $mention-&gt;data['post']]) !!}

【问题讨论】:

    标签: javascript laravel laravel-5.8


    【解决方案1】:

    我一般是分html标签和翻译内容的。

    {{ __('notifications.mentionTimelinePost'}}<a href="javascript:postinfo(:post);">{{$mention->data['post']}}</a>
    

    如果你经常使用它,只需创建视图组件。 随心所欲地调用它(提及.blade.php)。

    <span> {{ __('notifications.mentionTimelinePost'}}<a href="javascript:postinfo(:post);">{{$post}}</a> </span>

    然后只包含在你的刀片文件中。

    @include('mention.blade.php', ['post' => $post])
    

    如果我使用:

    <a href="javascript:doSomething()">Click me</a>
    

    脚本:

    function doSomething() {alert("hello")}
    

    它在刀片中工作没有任何问题。

    【讨论】:

    • 我不确定你是否理解我的情况。我添加了一个显示渲染链接的屏幕截图。请注意,我正在链接一个可以在句子中任何地方的单词,因此您提到的方法不起作用。
    猜你喜欢
    • 2022-10-05
    • 2022-07-07
    • 2011-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多