Более обширная версия https://stackoverflow.com/a/10786066/1794894
/"([^"\\]{50,}(\\.[^"\\]*)*)"|\'[^\'\\]{50,}(\\.[^\'\\]*)*\'|“[^”\\]{50,}(\\.[^“\\]*)*”/
Эта версия также содержит
“
и закрыть ”
) Обычно из вашего контроллера вы передаете аутентифицированный пользовательский объект в представление, которое затем будет храниться в переменной javascript
. Контроллер:
public function index()
{
return view('index', [
'auth_user' => Auth::user()
]);
}
. Вы узнаете,
В вашем лезвии присвойте auth_user
переменной javascript:
<script>
window.auth_user = {{ json_encode($auth_user); }};
</script>
ваш объект хранения vuex должен выглядеть следующим образом:
{
state: {
user: null
},
mutations: {
setAuthUser(state, user) {
state.user = user;
}
},
getters: {
isLoggedIn(state) {
return state.user !== null;
}
}
}
Затем в вашем корневом компоненте Vue получите auth_user
и сохраните его в хранилище:
<script>
export default {
mounted() {
this.$store.commit('setAuthUser', window.auth_user);
}
}
</script>
Вы теперь в основном есть getter
, называемый isLoggedIn
, который вы можете использовать в своем приложении для проверки того, что пользователь в настоящий момент зарегистрирован.
window.auth_user = {!! json_encode($auth_user) !!};
. Кроме того, пришлось вставить скрипт лезвия перед основным компонентом Vue root (заголовок не нижний колонтитул в моем случае) – Jquestions 4 August 2018 в 16:44