Что такое символ @ в шаблоне Laravel Spark Vue.js?

В файлах шаблонов Laravel Spark вы иногда увидите что-то вроде этого

<span class="help-block" v-show="form.errors.has('name')">
    @{{ form.errors.get('name') }}
</span>

То есть диапазон, который условно переключается на видимость/невидимость в зависимости от текущих ошибок формы.

я понимаю эту часть

{{ form.errors.get('name') }}

Это шаблон Vue.js, который будет отображать строку, возвращаемую form.errors.get('name'). Однако для чего нужен символ @ перед шаблоном? Я знаю, что атрибут @ является сокращением от v-on. Однако,

v-on{{ form.errors.get('name') }}

имеет для меня еще меньше смысла, поэтому я предполагаю, что символ @ здесь делает что-то еще. Это вещь Vue.js? Laravel Spark? Что-то другое?


person Alan Storm    schedule 25.06.2017    source источник
comment
Если это файл лезвия, он говорит laravel игнорировать его, потому что это часть шаблона Vue. По сути, Vue и Laravel Blade используют одно и то же для создания шаблонов и привязки динамических значений и выражений — усы {{ }}   -  person Belmin Bedak    schedule 25.06.2017
comment
@BelminBedak D'oh -- лицевая ладонь. Я слишком увлекся Vue и забыл, где я был :) Если вы хотите написать это как ответ, я буду рад проголосовать и отметить как лучший.   -  person Alan Storm    schedule 25.06.2017


Ответы (2)


Это потому, что Vue и Laravel Blade используют один и тот же синтаксис для привязки динамических значений и выражений.

@ в выражении усов (в файле блейда) означает, что Laravel должен игнорировать его, поэтому Vue позаботится об этом.

Примечание. Если вы хотите использовать другое шаблонное выражение для Vue, проверьте раздел разделителей в документации — https://vuejs.org/v2/api/#delimiters

person Belmin Bedak    schedule 25.06.2017

Символ @ — это функция Laravel, сообщающая механизму рендеринга Blade, что выражение должно оставаться нетронутым. @ используется в блейд-шаблонах Laravel.

person Leo    schedule 25.06.2017