как я могу скрыть этот код на шаблонах лезвий? - PullRequest
1 голос
/ 21 апреля 2020

когда я передаю данные через реквизит на блэйд-шаблоне

<posts-component :user="{{ Auth::user() }}" :profile="{{ $profile }}" :friend="{{ Auth::user()->isFriendWith($profile) ? 1 : 0 }}"></posts-component>

Я вижу код, когда использую инструмент разработчика в любом веб-браузере ...

здесь изображение

можно скрыть этот код? или я должен использовать другой способ?

1 Ответ

1 голос
/ 21 апреля 2020

Вы можете видеть все свойства объекта, потому что вы передаете все экземпляры User в свой компонент. Когда представление отображает компонент, оно также отображает переменные, которые вы передали вашему компоненту.

Auth::user() и $profile - два экземпляра вашего класса User. Объект User имеет ряд свойств (идентификатор, имя пользователя, имя, фамилия, адрес электронной почты и т. Д. c.). Если вы передадите полный экземпляр Object своему компоненту, он будет визуализирован в представлении, предоставляя все его свойства.

Чтобы не отображать все свойства объекта в представлении, следует вызывать только свойство объекта ie (s) вам нужно, а не сам объект.

Например:

<posts-component :user="{{ Auth::user()->id }}" :profile="{{ $profile->id }}" :friend="{{ Auth::user()->isFriendWith($profile) ? 1 : 0 }}"></posts-component>

Примечание: Ваш isFriendWith() метод в настоящее время принимает пользователя экземпляр и возвращает логическое значение. Это не проблема, потому что он возвращает только true или false и поэтому никогда не раскрывает свойства пользователя.


Подводя итог, можно передавать экземпляры объектов из контроллера в представление, но один раз в По вашему мнению, вы должны быть осторожны при отображении только тех свойств, которые вы готовы предоставить.

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