Вызов Javascript внутри файла перевода Laravel - PullRequest
0 голосов
/ 01 октября 2019

Laravel 5.8 с файлами перевода. Мне нужно вызвать функцию Javascript из файла перевода. Мой первоначальный подход состоял в том, чтобы назвать его так:

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

Это вызов из моего блейд-файла:

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

Мне на самом деле он понадобится внутри этого файла перевода из-за формулировкии размещение на разных языках. Я знаю, что Laravel использует синтаксис :value для переменных из файла Blade, поэтому очевидно, что javascript:postinfo не работает. Я пытался избежать этого, но безуспешно.

Как я мог заставить эту работу? Документы не охватывают такой случай.

Вот как приведена выше ссылка:

enter image description here

Обновление: Я понял, что мне просто нужно переименовать переменную, которую я даю в файл перевода (или мог бы переименовать имя функции). ._. Дело закрыто.

Это сработало просто отлично: {!! __('notifications.mentionTimelinePost', ['postid' => $mention->data['post']]) !!}

1 Ответ

1 голос
/ 01 октября 2019

Я обычно делю HTML-теги и переведенный контент.

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

Если вы обычно используете его, просто создайте компонент вида. Называйте его как хотите (note.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")}

работает в блейде без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...